summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/nine/vertexshader9.h
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-09-19 19:00:23 +0200
committerAxel Davy <[email protected]>2016-10-10 23:43:50 +0200
commitb9639c661fb6b52c8abb96c06263f85ca4bd78c1 (patch)
tree639d0534ff10c8f80789d206f40b2a9cc90cdbe0 /src/gallium/state_trackers/nine/vertexshader9.h
parent3bf02d383fe94a69dfec3ff54ede3e3b2e9dff6b (diff)
st/nine: Initial ProcessVertices support
For now only VS 3 support is implemented. This enables The Sims 2 to work. Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/nine/vertexshader9.h')
-rw-r--r--src/gallium/state_trackers/nine/vertexshader9.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/nine/vertexshader9.h b/src/gallium/state_trackers/nine/vertexshader9.h
index 823c71aa85e..1f0cfd6ac26 100644
--- a/src/gallium/state_trackers/nine/vertexshader9.h
+++ b/src/gallium/state_trackers/nine/vertexshader9.h
@@ -31,6 +31,8 @@
#include "nine_shader.h"
#include "nine_state.h"
+struct NineVertexDeclaration9;
+
struct NineVertexShader9
{
struct NineUnknown base;
@@ -57,8 +59,6 @@ struct NineVertexShader9
struct nine_lconstf lconstf;
- const struct pipe_stream_output_info *so;
-
uint64_t ff_key[3];
void *ff_cso;
@@ -66,6 +66,9 @@ struct NineVertexShader9
void *last_cso;
uint64_t next_key;
+
+ /* so */
+ struct nine_shader_variant_so variant_so;
};
static inline struct NineVertexShader9 *
NineVertexShader9( void *data )
@@ -107,6 +110,11 @@ NineVertexShader9_UpdateKey( struct NineVertexShader9 *vs,
void *
NineVertexShader9_GetVariant( struct NineVertexShader9 *vs );
+void *
+NineVertexShader9_GetVariantProcessVertices( struct NineVertexShader9 *vs,
+ struct NineVertexDeclaration9 *vdecl_out,
+ struct pipe_stream_output_info *so );
+
/*** public ***/
HRESULT