mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
rsx: Ignore bad face mode configuration
This commit is contained in:
parent
5aced2e44b
commit
d0c029c83e
1 changed files with 15 additions and 5 deletions
|
@ -216,15 +216,25 @@ namespace rsx
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_cull_face(thread* rsx, u32 reg, u32 arg)
|
void set_face_property(thread* rsx, u32 reg, u32 arg)
|
||||||
{
|
{
|
||||||
if (reg == method_registers.register_previous_value)
|
if (reg == method_registers.register_previous_value)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto typed = to_cull_face(arg);
|
bool valid;
|
||||||
if (typed) [[ likely ]]
|
switch (reg)
|
||||||
|
{
|
||||||
|
case NV4097_SET_CULL_FACE:
|
||||||
|
valid = !!to_cull_face(arg); break;
|
||||||
|
case NV4097_SET_FRONT_FACE:
|
||||||
|
valid = !!to_front_face(arg); break;
|
||||||
|
default:
|
||||||
|
valid = false; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (valid) [[ likely ]]
|
||||||
{
|
{
|
||||||
rsx->m_graphics_state |= rsx::pipeline_config_dirty;
|
rsx->m_graphics_state |= rsx::pipeline_config_dirty;
|
||||||
}
|
}
|
||||||
|
@ -2516,7 +2526,6 @@ namespace rsx
|
||||||
state_signals[NV4097_SET_DEPTH_BOUNDS_TEST_ENABLE] = rsx::depth_bounds_state_dirty;
|
state_signals[NV4097_SET_DEPTH_BOUNDS_TEST_ENABLE] = rsx::depth_bounds_state_dirty;
|
||||||
state_signals[NV4097_SET_DEPTH_BOUNDS_MIN] = rsx::depth_bounds_state_dirty;
|
state_signals[NV4097_SET_DEPTH_BOUNDS_MIN] = rsx::depth_bounds_state_dirty;
|
||||||
state_signals[NV4097_SET_DEPTH_BOUNDS_MAX] = rsx::depth_bounds_state_dirty;
|
state_signals[NV4097_SET_DEPTH_BOUNDS_MAX] = rsx::depth_bounds_state_dirty;
|
||||||
state_signals[NV4097_SET_FRONT_FACE] = rsx::pipeline_config_dirty;
|
|
||||||
state_signals[NV4097_SET_CULL_FACE_ENABLE] = rsx::pipeline_config_dirty;
|
state_signals[NV4097_SET_CULL_FACE_ENABLE] = rsx::pipeline_config_dirty;
|
||||||
state_signals[NV4097_SET_ZMIN_MAX_CONTROL] = rsx::pipeline_config_dirty;
|
state_signals[NV4097_SET_ZMIN_MAX_CONTROL] = rsx::pipeline_config_dirty;
|
||||||
state_signals[NV4097_SET_LOGIC_OP_ENABLE] = rsx::pipeline_config_dirty;
|
state_signals[NV4097_SET_LOGIC_OP_ENABLE] = rsx::pipeline_config_dirty;
|
||||||
|
@ -3470,7 +3479,8 @@ namespace rsx
|
||||||
bind(NV406E_SEMAPHORE_RELEASE, nv406e::semaphore_release);
|
bind(NV406E_SEMAPHORE_RELEASE, nv406e::semaphore_release);
|
||||||
|
|
||||||
// NV4097
|
// NV4097
|
||||||
bind(NV4097_SET_CULL_FACE, nv4097::set_cull_face);
|
bind(NV4097_SET_CULL_FACE, nv4097::set_face_property);
|
||||||
|
bind(NV4097_SET_FRONT_FACE, nv4097::set_face_property);
|
||||||
bind(NV4097_TEXTURE_READ_SEMAPHORE_RELEASE, nv4097::texture_read_semaphore_release);
|
bind(NV4097_TEXTURE_READ_SEMAPHORE_RELEASE, nv4097::texture_read_semaphore_release);
|
||||||
bind(NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE, nv4097::back_end_write_semaphore_release);
|
bind(NV4097_BACK_END_WRITE_SEMAPHORE_RELEASE, nv4097::back_end_write_semaphore_release);
|
||||||
bind(NV4097_SET_BEGIN_END, nv4097::set_begin_end);
|
bind(NV4097_SET_BEGIN_END, nv4097::set_begin_end);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue