diff options
author | Marek Olšák <[email protected]> | 2011-04-05 17:57:02 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-04-05 19:25:25 +0200 |
commit | 4af3fe857dc07923af8786b434dee32d493b577e (patch) | |
tree | d1189d0cabb55b1fccceea76825983d4dd136892 /src/gallium/drivers/r300/r300_context.h | |
parent | d8361400b76dde6fb63df6c363b7dd59c5946e09 (diff) |
r300g: postpone fragment shader state validation until draw_vbo
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.h')
-rw-r--r-- | src/gallium/drivers/r300/r300_context.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index 3b6cb8f7a11..550d3a75d27 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -447,6 +447,13 @@ enum r300_hiz_func { HIZ_FUNC_MIN, }; +/* For deferred fragment shader state validation. */ +enum r300_fs_validity_status { + FRAGMENT_SHADER_VALID, /* No need to change/validate the FS. */ + FRAGMENT_SHADER_MAYBE_DIRTY,/* Validate the FS if external state was changed. */ + FRAGMENT_SHADER_DIRTY /* Always validate the FS (if the FS was changed) */ +}; + struct r300_context { /* Parent class */ struct pipe_context context; @@ -598,6 +605,10 @@ struct r300_context { enum r300_hiz_func hiz_func; /* HiZ clear value. */ uint32_t hiz_clear_value; + /* Whether fragment shader needs to be validated. */ + enum r300_fs_validity_status fs_status; + /* Framebuffer multi-write. */ + boolean fb_multiwrite; void *dsa_decompress_zmask; |