From ce4f4a07f00cd856219520ebe4bede63da2623d8 Mon Sep 17 00:00:00 2001 From: jackchentwkh Date: Sat, 25 Jun 2022 14:57:00 +0800 Subject: [PATCH] adopt api nv2a_vsh_emu_initialize_xss_execution_state change from 3 args to 2 args. mark all vertex constants dirty after vertex state shader execution. --- src/core/hle/D3D8/Direct3D9/Direct3D9.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp b/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp index 553e76634..12a0dd84b 100644 --- a/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp +++ b/src/core/hle/D3D8/Direct3D9/Direct3D9.cpp @@ -8706,14 +8706,16 @@ xbox::void_xt WINAPI xbox::EMUPATCH(D3DDevice_RunVertexStateShader) Nv2aVshCPUXVSSExecutionState state_linkage; Nv2aVshExecutionState state = nv2a_vsh_emu_initialize_xss_execution_state( - &state_linkage, (float*)pg->vsh_constants, pg->vsh_constants_dirty); + &state_linkage, (float*)pg->vsh_constants); memcpy(state_linkage.input_regs, vertex_state_shader_v0, sizeof(vertex_state_shader_v0)); nv2a_vsh_emu_execute(&state, &program); nv2a_vsh_program_destroy(&program); - - //LOG_UNIMPLEMENTED(); + //mark all vertex shader constants dirty so later they will be updated by vertex shader processor code. + for(int vshcnt=0;vshcnt< NV2A_VERTEXSHADER_CONSTANTS;vshcnt++) + pg->vsh_constants_dirty[vshcnt] = TRUE; + } // ******************************************************************