swr: [rasterizer core] add mode for aux buffer in the SWR_SURFACE_STATE
authorTim Rowley <timothy.o.rowley@intel.com>
Wed, 9 Nov 2016 19:58:37 +0000 (13:58 -0600)
committerTim Rowley <timothy.o.rowley@intel.com>
Mon, 14 Nov 2016 15:02:59 +0000 (09:02 -0600)
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/rasterizer/core/state.h

index 24927cd20b87f1d7b657a97807611a8f9e9855b5..062a1defbcc7b6f73f5a6445d407887cb07a3ec4 100644 (file)
@@ -480,6 +480,21 @@ enum SWR_LOGIC_OP
     LOGICOP_SET,
 };
 
+//////////////////////////////////////////////////////////////////////////
+/// SWR_AUX_MODE
+/// @brief Specifies how the auxiliary buffer is used by the driver.
+//////////////////////////////////////////////////////////////////////////
+enum SWR_AUX_MODE
+{
+    AUX_MODE_NONE,
+    AUX_MODE_COLOR,
+    AUX_MODE_UAV,
+    AUX_MODE_DEPTH,
+};
+
+//////////////////////////////////////////////////////////////////////////
+/// SWR_SURFACE_STATE
+//////////////////////////////////////////////////////////////////////////
 struct SWR_SURFACE_STATE
 {
     uint8_t *pBaseAddress;
@@ -506,6 +521,7 @@ struct SWR_SURFACE_STATE
     uint32_t lodOffsets[2][15]; // lod offsets for sampled surfaces
 
     uint8_t *pAuxBaseAddress;   // Used for compression, append/consume counter, etc.
+    SWR_AUX_MODE auxMode;      // @llvm_enum
 
     bool bInterleavedSamples;   // are MSAA samples stored interleaved or planar
 };