aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/nine/nine_state.h
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-10-19 23:40:27 +0200
committerAxel Davy <[email protected]>2016-12-20 23:44:22 +0100
commit1a735a99d0ab4d618802e4044f068f926aaf4513 (patch)
tree411df4e4b9bde2eb4e705f9915a8c3ba45e9ad49 /src/gallium/state_trackers/nine/nine_state.h
parentbb62ea925a9aaebb053f0df14a9b7c995fdb6537 (diff)
st/nine: Back all ff states in nine_context
Part of the refactor to move all gallium calls to nine_state.c, and have all internal states required for those calls in nine_context. Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/nine/nine_state.h')
-rw-r--r--src/gallium/state_trackers/nine/nine_state.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/nine_state.h b/src/gallium/state_trackers/nine/nine_state.h
index 4d1e8a48337..754a3de7eb0 100644
--- a/src/gallium/state_trackers/nine/nine_state.h
+++ b/src/gallium/state_trackers/nine/nine_state.h
@@ -139,7 +139,7 @@
struct nine_ff_state {
struct {
- uint32_t tex_stage[NINE_MAX_TEXTURE_STAGES][(NINED3DTSS_COUNT + 31) / 32];
+ uint32_t tex_stage[NINE_MAX_TEXTURE_STAGES][(NINED3DTSS_COUNT + 31) / 32]; /* stateblocks only */
uint32_t transform[(NINED3DTS_COUNT + 31) / 32];
} changed;
@@ -280,6 +280,8 @@ struct nine_context {
int dummy_vbo_bound_at; /* -1 = not bound , >= 0 = bound index */
boolean vbo_bound_done;
+ struct nine_ff_state ff;
+
uint32_t commit;
struct {
struct pipe_framebuffer_state fb;
@@ -397,6 +399,31 @@ nine_context_set_scissor(struct NineDevice9 *device,
const struct pipe_scissor_state *scissor);
void
+nine_context_set_transform(struct NineDevice9 *device,
+ D3DTRANSFORMSTATETYPE State,
+ const D3DMATRIX *pMatrix);
+
+void
+nine_context_set_material(struct NineDevice9 *device,
+ const D3DMATERIAL9 *pMaterial);
+
+void
+nine_context_set_light(struct NineDevice9 *device,
+ DWORD Index,
+ const D3DLIGHT9 *pLight);
+
+void
+nine_context_light_enable(struct NineDevice9 *device,
+ DWORD Index,
+ BOOL Enable);
+
+void
+nine_context_set_texture_stage_state(struct NineDevice9 *device,
+ DWORD Stage,
+ D3DTEXTURESTAGESTATETYPE Type,
+ DWORD Value);
+
+void
nine_context_set_render_target(struct NineDevice9 *device,
DWORD RenderTargetIndex,
struct NineSurface9 *rt);