summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_context.h
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2009-02-04 16:07:39 -0800
committerCorbin Simpson <MostAwesomeDude@gmail.com>2009-02-04 16:07:39 -0800
commitfb8b794c69330924ad15083237b1a8a35eb62e31 (patch)
tree5488b07f407de26cb897dc04b1f43714b24a6c1e /src/gallium/drivers/r300/r300_context.h
parent9f10b16790d7e4e224fc30cf105df944275d6353 (diff)
r300: Add shader state stubs.
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.h')
-rw-r--r--src/gallium/drivers/r300/r300_context.h30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h
index e0aad66018..fb91c172f4 100644
--- a/src/gallium/drivers/r300/r300_context.h
+++ b/src/gallium/drivers/r300/r300_context.h
@@ -25,6 +25,7 @@
#include "draw/draw_context.h"
#include "pipe/p_context.h"
+#include "tgsi/tgsi_scan.h"
#include "util/u_memory.h"
#include "r300_clear.h"
@@ -56,9 +57,6 @@ struct r300_dsa_state {
uint32_t stencil_ref_bf; /* R500_ZB_STENCILREFMASK_BF: 0x4fd4 */
};
-struct r300_fs_state {
-};
-
struct r300_rs_state {
uint32_t vap_control_status; /* R300_VAP_CNTL_STATUS: 0x2140 */
uint32_t point_size; /* R300_GA_POINT_SIZE: 0x421c */
@@ -99,6 +97,28 @@ struct r300_texture_state {
#define R300_NEW_VERTEX_SHADER 0x800000
#define R300_NEW_KITCHEN_SINK 0xffffff
+/* The next several objects are not pure Radeon state; they inherit from
+ * various Gallium classes. */
+
+struct r3xx_fragment_shader {
+ /* Parent class */
+ struct pipe_shader_state state;
+ struct tgsi_shader_info info;
+
+ /* Has this shader been translated yet? */
+ boolean translated;
+};
+
+struct r300_fragment_shader {
+ /* Parent class */
+ struct r3xx_fragment_shader shader;
+};
+
+struct r500_fragment_shader {
+ /* Parent class */
+ struct r3xx_fragment_shader shader;
+};
+
struct r300_texture {
/* Parent class */
struct pipe_texture tex;
@@ -129,8 +149,8 @@ struct r300_context {
struct r300_blend_color_state* blend_color_state;
/* Depth, stencil, and alpha state. */
struct r300_dsa_state* dsa_state;
- /* Fragment shader state. */
- struct r300_fs_state* fs_state;
+ /* Fragment shader. */
+ struct r3xx_fragment_shader* fs;
/* Framebuffer state. We currently don't need our own version of this. */
struct pipe_framebuffer_state framebuffer_state;
/* Rasterizer state. */