mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-19 19:15:26 +00:00
OpenGL: improved vertex textures support
This commit is contained in:
parent
effd379c25
commit
816169fe9e
4 changed files with 16 additions and 30 deletions
|
@ -891,7 +891,7 @@ void GLGSRender::flip(int buffer)
|
|||
|
||||
gl::screen.clear(gl::buffers::color_depth_stencil);
|
||||
|
||||
__glcheck flip_fbo->blit(gl::screen, screen_area, areai(aspect_ratio).flipped_vertical());
|
||||
__glcheck flip_fbo->blit(gl::screen, screen_area, areai(aspect_ratio).flipped_vertical(), gl::buffers::color, gl::filter::linear);
|
||||
|
||||
m_frame->flip(m_context);
|
||||
|
||||
|
|
|
@ -370,7 +370,14 @@ rsx::complete_shader glsl_complete_shader(const rsx::decompiled_shader &shader,
|
|||
body = "0.0, 0.0";
|
||||
}
|
||||
|
||||
prepare += "\tfogc = clamp(vec4(" + body + ", 0.0, 0.0), 0.0, 1.0);\n";
|
||||
if (0)
|
||||
{
|
||||
prepare += "\tfogc = vec4(0.0);\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
prepare += "\tfogc = clamp(vec4(" + body + ", 0.0, 0.0), 0.0, 1.0);\n";
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -390,10 +397,10 @@ rsx::complete_shader glsl_complete_shader(const rsx::decompiled_shader &shader,
|
|||
if (diffuse_color == (CELL_GCM_ATTRIB_OUTPUT_MASK_FRONTDIFFUSE | CELL_GCM_ATTRIB_OUTPUT_MASK_BACKDIFFUSE) &&
|
||||
specular_color == (CELL_GCM_ATTRIB_OUTPUT_MASK_FRONTSPECULAR | CELL_GCM_ATTRIB_OUTPUT_MASK_BACKSPECULAR))
|
||||
{
|
||||
prepare += "\tif (gl_FrontFacing)\n\t{";
|
||||
prepare += "\tif (gl_FrontFacing)\n\t{\n";
|
||||
prepare += "\t\tcol0 = front_diffuse_color;\n";
|
||||
prepare += "\t\tcol1 = front_specular_color;\n";
|
||||
prepare += "\t}\nelse\n\t{\n";
|
||||
prepare += "\t}\n\telse\n\t{\n";
|
||||
prepare += "\t\tcol0 = back_diffuse_color;\n";
|
||||
prepare += "\t\tcol1 = back_specular_color;\n";
|
||||
prepare += "\t}";
|
||||
|
|
|
@ -595,31 +595,10 @@ namespace rsx
|
|||
|
||||
glTexParameteri(m_target, GL_TEXTURE_MAX_LEVEL, tex.get_exact_mipmap_count() - 1);
|
||||
|
||||
/*
|
||||
if (format != CELL_GCM_TEXTURE_B8 && format != CELL_GCM_TEXTURE_X16 && format != CELL_GCM_TEXTURE_X32_FLOAT)
|
||||
{
|
||||
u8 remap_a = tex.remap() & 0x3;
|
||||
u8 remap_r = (tex.remap() >> 2) & 0x3;
|
||||
u8 remap_g = (tex.remap() >> 4) & 0x3;
|
||||
u8 remap_b = (tex.remap() >> 6) & 0x3;
|
||||
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_A, glRemap[remap_a]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_R, glRemap[remap_r]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_G, glRemap[remap_g]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_B, glRemap[remap_b]);
|
||||
}
|
||||
else
|
||||
{
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_A, glRemap[0]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_R, glRemap[1]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_G, glRemap[2]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_B, glRemap[3]);
|
||||
}
|
||||
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_WRAP_S, gl_wrap(tex.wrap_s()));
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_WRAP_T, gl_wrap(tex.wrap_t()));
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_WRAP_R, gl_wrap(tex.wrap_r()));
|
||||
*/
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_A, glRemap[0]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_R, glRemap[1]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_G, glRemap[2]);
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_SWIZZLE_B, glRemap[3]);
|
||||
|
||||
__glcheck glTexParameterf(m_target, GL_TEXTURE_LOD_BIAS, tex.bias());
|
||||
__glcheck glTexParameteri(m_target, GL_TEXTURE_MIN_LOD, (tex.min_lod() >> 8));
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 05d1fc438948aaaf260d2244be9d75427ea9d3e9
|
||||
Subproject commit 9d5245ef41142675195bfe40c1408a18a99e56fa
|
Loading…
Add table
Reference in a new issue