summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i965/brw_context.h
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2009-10-24 13:18:34 +0100
committerKeith Whitwell <[email protected]>2009-10-24 13:19:26 +0100
commit074606a806df755ecbb84e0a1182c66fd0b2a8dd (patch)
tree7a1bbe361281dbd7000cceaa813cab03585a8a8c /src/gallium/drivers/i965/brw_context.h
parent7ee60648a3696d8166d76b20156c4b43fddf9e71 (diff)
i965g: more files compiling
Diffstat (limited to 'src/gallium/drivers/i965/brw_context.h')
-rw-r--r--src/gallium/drivers/i965/brw_context.h89
1 files changed, 38 insertions, 51 deletions
diff --git a/src/gallium/drivers/i965/brw_context.h b/src/gallium/drivers/i965/brw_context.h
index 6699d3bdb6d..3a2fece45c6 100644
--- a/src/gallium/drivers/i965/brw_context.h
+++ b/src/gallium/drivers/i965/brw_context.h
@@ -36,6 +36,8 @@
#include "brw_structs.h"
#include "brw_winsys.h"
#include "pipe/p_state.h"
+#include "pipe/p_context.h"
+#include "tgsi/tgsi_scan.h"
/* Glossary:
@@ -143,6 +145,27 @@ struct brw_blend_state {
};
+struct brw_rasterizer_state;
+
+
+struct brw_vertex_shader {
+ const struct tgsi_token *tokens;
+ struct tgsi_shader_info info;
+
+ struct brw_winsys_buffer *const_buffer; /** Program constant buffer/surface */
+ GLboolean use_const_buffer;
+};
+
+
+struct brw_fragment_shader {
+ const struct tgsi_token *tokens;
+ struct tgsi_shader_info info;
+
+ GLboolean isGLSL;
+
+ struct brw_winsys_buffer *const_buffer; /** Program constant buffer/surface */
+ GLboolean use_const_buffer;
+};
@@ -157,6 +180,7 @@ struct brw_blend_state {
#define PIPE_NEW_VERTEX_SHADER 0x2
#define PIPE_NEW_FRAGMENT_CONSTS 0x2
#define PIPE_NEW_VERTEX_CONSTS 0x2
+#define PIPE_NEW_CLIP 0x2
#define BRW_NEW_URB_FENCE 0x1
@@ -196,25 +220,6 @@ struct brw_state_flags {
};
-struct brw_vertex_program {
- const struct tgsi_token *tokens;
- GLuint id;
- struct brw_winsys_buffer *const_buffer; /** Program constant buffer/surface */
- GLboolean use_const_buffer;
-};
-
-
-/** Subclass of Mesa fragment program */
-struct brw_fragment_program {
- const struct tgsi_token *tokens;
-
- GLuint id; /**< serial no. to identify frag progs, never re-used */
- GLboolean isGLSL; /**< any IF/LOOP/CONT/BREAK instructions */
-
- struct brw_winsys_buffer *const_buffer; /** Program constant buffer/surface */
- GLboolean use_const_buffer;
-};
-
/* Data about a particular attempt to compile a program. Note that
* there can be many of these, each in a different GL state
@@ -452,24 +457,29 @@ struct brw_query_object {
*/
struct brw_context
{
- struct pipe_context *pipe;
- struct pipe_screen *screen;
-
+ struct pipe_context pipe;
+
+ struct brw_screen *brw_screen;
struct brw_winsys_screen *sws;
GLuint primitive;
+ GLuint reduced_primitive;
GLboolean emit_state_always;
GLboolean no_batch_wrap;
/* Active vertex program:
*/
- const struct gl_vertex_program *vertex_program;
- const struct gl_fragment_program *fragment_program;
- struct pipe_framebuffer_state fb;
- struct brw_depth_stencil_alpha_state *dsa;
- struct brw_blend_state *blend;
- struct pipe_viewport_state vp;
+ struct {
+ const struct brw_vertex_shader *vs;
+ const struct brw_fragment_shader *fs;
+ const struct brw_blend_state *blend;
+ const struct brw_rasterizer_state *rast;
+ const struct brw_depth_stencil_alpha_state *dsa;
+ struct pipe_framebuffer_state fb;
+ struct pipe_viewport_state vp;
+ struct pipe_clip_state ucp;
+ } curr;
struct {
struct brw_state_flags dirty;
@@ -719,29 +729,6 @@ brw_context( struct pipe_context *ctx )
return (struct brw_context *)ctx;
}
-static INLINE struct brw_vertex_program *
-brw_vertex_program(struct gl_vertex_program *p)
-{
- return (struct brw_vertex_program *) p;
-}
-
-static INLINE const struct brw_vertex_program *
-brw_vertex_program_const(const struct gl_vertex_program *p)
-{
- return (const struct brw_vertex_program *) p;
-}
-
-static INLINE struct brw_fragment_program *
-brw_fragment_program(struct gl_fragment_program *p)
-{
- return (struct brw_fragment_program *) p;
-}
-
-static INLINE const struct brw_fragment_program *
-brw_fragment_program_const(const struct gl_fragment_program *p)
-{
- return (const struct brw_fragment_program *) p;
-}