r600g: add a depth misc state which depends on occlusion queries
authorMarek Olšák <maraeo@gmail.com>
Thu, 2 Feb 2012 13:01:12 +0000 (14:01 +0100)
committerMarek Olšák <maraeo@gmail.com>
Tue, 21 Feb 2012 20:42:27 +0000 (21:42 +0100)
commite2809849ecac69615ece294a55ee355afaac33d3
tree6773e21ab0f548157a5dc26580af2a0214a94cfa
parent8f5c172c854a52b2a69b8383a55c76f1faa5f704
r600g: add a depth misc state which depends on occlusion queries

This is a state which is derived from other states and is actually the first
state which doesn't correspond to any gallium state.

There are two state flags:
  bool occlusion_query_enabled
  bool flush_depthstencil_enabled

Additional flags can be added later if needed, e.g. bool hiz_enabled.
The emit function will have to figure out the register values by itself.

It basically just emits the registers when the state changes.
This commit also adds a few helper functions for writing registers directly
into a command stream.
src/gallium/drivers/r600/evergreen_hw_context.c
src/gallium/drivers/r600/evergreen_state.c
src/gallium/drivers/r600/r600.h
src/gallium/drivers/r600/r600_hw_context.c
src/gallium/drivers/r600/r600_hw_context_priv.h
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/r600/r600_pipe.h
src/gallium/drivers/r600/r600_query.c
src/gallium/drivers/r600/r600_state.c
src/gallium/drivers/r600/r600_state_common.c