diff options
author | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2008-10-07 23:42:48 +0200 |
---|---|---|
committer | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2008-10-07 23:42:48 +0200 |
commit | 8463ddb7401e313888497da30d05e5151db1a066 (patch) | |
tree | 34725c56d217af109e0d90b8a19d0ca225a3e8fb /src/gallium/drivers/cell/ppu/cell_context.h | |
parent | 6f29c2ff2dc4b3aefe282133376caed68b65a3d0 (diff) | |
parent | be3c070b6a86255feb752b7574daff8cb6091b96 (diff) |
Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2
Diffstat (limited to 'src/gallium/drivers/cell/ppu/cell_context.h')
-rw-r--r-- | src/gallium/drivers/cell/ppu/cell_context.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_context.h b/src/gallium/drivers/cell/ppu/cell_context.h index 3dc15c9233..80a9b3d7e1 100644 --- a/src/gallium/drivers/cell/ppu/cell_context.h +++ b/src/gallium/drivers/cell/ppu/cell_context.h @@ -38,6 +38,7 @@ #include "cell/common.h" #include "rtasm/rtasm_ppc_spe.h" #include "tgsi/tgsi_scan.h" +#include "util/u_keymap.h" struct cell_vbuf_render; @@ -67,6 +68,19 @@ struct cell_fragment_shader_state /** + * Key for mapping per-fragment state to cached SPU machine code. + * keymap(cell_fragment_ops_key) => cell_command_fragment_ops + */ +struct cell_fragment_ops_key +{ + struct pipe_blend_state blend; + struct pipe_depth_stencil_alpha_state dsa; + enum pipe_format color_format; + enum pipe_format zs_format; +}; + + +/** * Per-context state, subclass of pipe_context. */ struct cell_context @@ -107,6 +121,9 @@ struct cell_context uint dirty; + /** Cache of code generated for per-fragment ops */ + struct keymap *fragment_ops_cache; + /** The primitive drawing context */ struct draw_context *draw; struct draw_stage *render_stage; |