summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_context.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2010-09-16 21:29:08 +1000
committerDave Airlie <[email protected]>2010-09-16 21:29:08 +1000
commit9a589961a281f77b938a4b5bf80409326743f147 (patch)
tree2c0a5b4203e1afeebeaef287d729a41769a90154 /src/gallium/drivers/r600/r600_context.h
parent9f7f7b3ff87e756a5d42eb4c6a953ec33e128f89 (diff)
r600g: fixup texture state on evergreen.
This whole set of state just seems wrong, another cut-n-paste nightmare.
Diffstat (limited to 'src/gallium/drivers/r600/r600_context.h')
-rw-r--r--src/gallium/drivers/r600/r600_context.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_context.h b/src/gallium/drivers/r600/r600_context.h
index e89cab31bc3..6d4a554b998 100644
--- a/src/gallium/drivers/r600/r600_context.h
+++ b/src/gallium/drivers/r600/r600_context.h
@@ -150,7 +150,9 @@ struct r600_shader_sampler_states {
};
struct r600_context;
+struct r600_screen;
struct r600_resource;
+struct r600_resource_texture;
struct r600_context_hw_state_vtbl {
void (*blend)(struct r600_context *rctx,
@@ -185,6 +187,21 @@ struct r600_context_hw_state_vtbl {
int (*vs_shader)(struct r600_context *rctx, struct r600_context_state *rpshader,
struct radeon_state *state);
void (*init_config)(struct r600_context *rctx);
+
+
+ void (*texture_state_viewport)(struct r600_screen *rscreen,
+ struct r600_resource_texture *rtexture,
+ unsigned level);
+ void (*texture_state_cb)(struct r600_screen *rscreen,
+ struct r600_resource_texture *rtexture,
+ unsigned cb,
+ unsigned level);
+ void (*texture_state_db)(struct r600_screen *rscreen,
+ struct r600_resource_texture *rtexture,
+ unsigned level);
+ void (*texture_state_scissor)(struct r600_screen *rscreen,
+ struct r600_resource_texture *rtexture,
+ unsigned level);
};
extern struct r600_context_hw_state_vtbl r600_hw_state_vtbl;
extern struct r600_context_hw_state_vtbl eg_hw_state_vtbl;