mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-11 01:08:39 +12:00
Disable glDepthBoundsEXT for Intel HD graphics
This commit is contained in:
parent
b5a4e21c81
commit
9b41f846d6
2 changed files with 11 additions and 4 deletions
|
@ -1448,6 +1448,8 @@ void GLGSRender::OnInitThread()
|
||||||
{
|
{
|
||||||
m_context = m_frame->GetNewContext();
|
m_context = m_frame->GetNewContext();
|
||||||
|
|
||||||
|
is_intel_vendor = strstr((const char*)glGetString(GL_VENDOR), "Intel");
|
||||||
|
|
||||||
m_frame->SetCurrent(m_context);
|
m_frame->SetCurrent(m_context);
|
||||||
|
|
||||||
InitProcTable();
|
InitProcTable();
|
||||||
|
@ -1750,7 +1752,6 @@ void GLGSRender::ExecCMD()
|
||||||
|
|
||||||
Enable(m_set_depth_test, GL_DEPTH_TEST);
|
Enable(m_set_depth_test, GL_DEPTH_TEST);
|
||||||
Enable(m_set_alpha_test, GL_ALPHA_TEST);
|
Enable(m_set_alpha_test, GL_ALPHA_TEST);
|
||||||
Enable(m_set_depth_bounds_test, GL_DEPTH_BOUNDS_TEST_EXT);
|
|
||||||
Enable(m_set_blend || m_set_blend_mrt1 || m_set_blend_mrt2 || m_set_blend_mrt3, GL_BLEND);
|
Enable(m_set_blend || m_set_blend_mrt1 || m_set_blend_mrt2 || m_set_blend_mrt3, GL_BLEND);
|
||||||
Enable(m_set_scissor_horizontal && m_set_scissor_vertical, GL_SCISSOR_TEST);
|
Enable(m_set_scissor_horizontal && m_set_scissor_vertical, GL_SCISSOR_TEST);
|
||||||
Enable(m_set_logic_op, GL_LOGIC_OP);
|
Enable(m_set_logic_op, GL_LOGIC_OP);
|
||||||
|
@ -1768,6 +1769,11 @@ void GLGSRender::ExecCMD()
|
||||||
Enable(m_set_line_stipple, GL_LINE_STIPPLE);
|
Enable(m_set_line_stipple, GL_LINE_STIPPLE);
|
||||||
Enable(m_set_polygon_stipple, GL_POLYGON_STIPPLE);
|
Enable(m_set_polygon_stipple, GL_POLYGON_STIPPLE);
|
||||||
|
|
||||||
|
if (!is_intel_vendor)
|
||||||
|
{
|
||||||
|
Enable(m_set_depth_bounds_test, GL_DEPTH_BOUNDS_TEST_EXT);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_set_clip_plane)
|
if (m_set_clip_plane)
|
||||||
{
|
{
|
||||||
Enable(m_clip_plane_0, GL_CLIP_PLANE0);
|
Enable(m_clip_plane_0, GL_CLIP_PLANE0);
|
||||||
|
@ -1899,7 +1905,7 @@ void GLGSRender::ExecCMD()
|
||||||
checkForGlError("glDepthFunc");
|
checkForGlError("glDepthFunc");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_set_depth_bounds)
|
if (m_set_depth_bounds && !is_intel_vendor)
|
||||||
{
|
{
|
||||||
glDepthBoundsEXT(m_depth_bounds_min, m_depth_bounds_max);
|
glDepthBoundsEXT(m_depth_bounds_min, m_depth_bounds_max);
|
||||||
checkForGlError("glDepthBounds");
|
checkForGlError("glDepthBounds");
|
||||||
|
|
|
@ -161,6 +161,7 @@ public:
|
||||||
GSFrameBase* m_frame;
|
GSFrameBase* m_frame;
|
||||||
u32 m_draw_frames;
|
u32 m_draw_frames;
|
||||||
u32 m_skip_frames;
|
u32 m_skip_frames;
|
||||||
|
bool is_intel_vendor;
|
||||||
|
|
||||||
GLGSRender();
|
GLGSRender();
|
||||||
virtual ~GLGSRender();
|
virtual ~GLGSRender();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue