aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/command_processor.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-07-21 19:38:59 -0400
committerbunnei <bunneidev@gmail.com>2015-08-15 17:33:44 -0400
commit57943107814ce3b431306eda5526c1a2c949ef24 (patch)
tree743f6bae0c3f1d475eabb083335ad7d6377bb97e /src/video_core/command_processor.cpp
parent2d100ebae3559f4cb96bb1c72510594a55e3d362 (diff)
Shader: Define a common interface for running vertex shader programs.
Diffstat (limited to 'src/video_core/command_processor.cpp')
-rw-r--r--src/video_core/command_processor.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/command_processor.cpp b/src/video_core/command_processor.cpp
index 8f8e9872d6..374c4748d5 100644
--- a/src/video_core/command_processor.cpp
+++ b/src/video_core/command_processor.cpp
@@ -215,6 +215,9 @@ static inline void WritePicaReg(u32 id, u32 value, u32 mask) {
unsigned int vertex_cache_pos = 0;
vertex_cache_ids.fill(-1);
+ Shader::UnitState shader_unit;
+ Shader::Setup(shader_unit);
+
for (unsigned int index = 0; index < regs.num_vertices; ++index)
{
unsigned int vertex = is_indexed ? (index_u16 ? index_address_16[index] : index_address_8[index]) : index;
@@ -307,7 +310,7 @@ static inline void WritePicaReg(u32 id, u32 value, u32 mask) {
&geometry_dumper, _1, _2, _3));
#endif
// Send to vertex shader
- output = Shader::RunShader(input, attribute_config.GetNumTotalAttributes(), g_state.regs.vs, g_state.vs);
+ output = Shader::Run(shader_unit, input, attribute_config.GetNumTotalAttributes());
if (is_indexed) {
vertex_cache[vertex_cache_pos] = output;