summaryrefslogtreecommitdiff
path: root/lib/gen6_render.h
diff options
context:
space:
mode:
authorLukasz Kalamarz <lukasz.kalamarz@intel.com>2018-07-12 16:15:23 +0200
committerKatarzyna Dec <katarzyna.dec@intel.com>2018-07-18 10:52:44 +0200
commit435c5093aa2043eb832a5f4cb468d7141488e14c (patch)
tree1bd40ab31a7d37d53477616dbf72f06f559d9e54 /lib/gen6_render.h
parent61370b2d43db63242646a6987a13caa8c2f8a0d8 (diff)
lib/rendercopy: Use gen4 definitions if applicable
Instead of using definitions duplicated in gen7_render header, we should use the oldest definition that is working with chosen gen. This patch reuse gen6 definitons if registers/fields/shifts that were introduced in other genX_render headers. v3: Rebase and checkpatch Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
Diffstat (limited to 'lib/gen6_render.h')
-rw-r--r--lib/gen6_render.h103
1 files changed, 45 insertions, 58 deletions
diff --git a/lib/gen6_render.h b/lib/gen6_render.h
index 8f0beda2..6bf468df 100644
--- a/lib/gen6_render.h
+++ b/lib/gen6_render.h
@@ -3,37 +3,38 @@
#include <stdint.h>
#include "surfaceformat.h"
+#include "gen4_render.h"
#define GEN6_3D(Pipeline,Opcode,Subopcode) ((3 << 29) | \
((Pipeline) << 27) | \
((Opcode) << 24) | \
((Subopcode) << 16))
-#define GEN6_STATE_BASE_ADDRESS GEN6_3D(0, 1, 1)
+#define GEN6_STATE_BASE_ADDRESS GEN4_3D(0, 1, 1)
# define BASE_ADDRESS_MODIFY (1 << 0)
# define BUFFER_SIZE_MODIFY (1 << 0)
-#define GEN6_STATE_SIP GEN6_3D(0, 1, 2)
+#define GEN6_STATE_SIP GEN4_3D(0, 1, 2)
-#define GEN6_3DSTATE_VF_STATISTICS GEN6_3D(1, 0, 0xB)
-#define GEN6_PIPELINE_SELECT GEN6_3D(1, 1, 4)
+#define GEN6_3DSTATE_VF_STATISTICS GEN4_3D(1, 0, 0xB)
+#define GEN6_PIPELINE_SELECT GEN4_3D(1, 1, 4)
# define PIPELINE_SELECT_3D 0
# define PIPELINE_SELECT_MEDIA 1
-#define GEN6_MEDIA_STATE_POINTERS GEN6_3D(2, 0, 0)
-#define GEN6_MEDIA_OBJECT GEN6_3D(2, 1, 0)
+#define GEN6_MEDIA_STATE_POINTERS GEN4_3D(2, 0, 0)
+#define GEN6_MEDIA_OBJECT GEN4_3D(2, 1, 0)
-#define GEN6_3DSTATE_BINDING_TABLE_POINTERS GEN6_3D(3, 0, 0x01)
+#define GEN6_3DSTATE_BINDING_TABLE_POINTERS GEN4_3D(3, 0, 0x01)
# define GEN6_3DSTATE_BINDING_TABLE_MODIFY_PS (1 << 12)/* for GEN6 */
# define GEN6_3DSTATE_BINDING_TABLE_MODIFY_GS (1 << 9) /* for GEN6 */
# define GEN6_3DSTATE_BINDING_TABLE_MODIFY_VS (1 << 8) /* for GEN6 */
-#define GEN6_3DSTATE_SAMPLER_STATE_POINTERS GEN6_3D(3, 0, 0x02)
+#define GEN6_3DSTATE_SAMPLER_STATE_POINTERS GEN4_3D(3, 0, 0x02)
# define GEN6_3DSTATE_SAMPLER_STATE_MODIFY_PS (1 << 12)
# define GEN6_3DSTATE_SAMPLER_STATE_MODIFY_GS (1 << 9)
# define GEN6_3DSTATE_SAMPLER_STATE_MODIFY_VS (1 << 8)
-#define GEN6_3DSTATE_URB GEN6_3D(3, 0, 0x05)
+#define GEN6_3DSTATE_URB GEN4_3D(3, 0, 0x05)
/* DW1 */
# define GEN6_3DSTATE_URB_VS_SIZE_SHIFT 16
# define GEN6_3DSTATE_URB_VS_ENTRIES_SHIFT 0
@@ -41,25 +42,25 @@
# define GEN6_3DSTATE_URB_GS_ENTRIES_SHIFT 8
# define GEN6_3DSTATE_URB_GS_SIZE_SHIFT 0
-#define GEN6_3DSTATE_VERTEX_BUFFERS GEN6_3D(3, 0, 0x08)
-#define GEN6_3DSTATE_VERTEX_ELEMENTS GEN6_3D(3, 0, 0x09)
-#define GEN6_3DSTATE_INDEX_BUFFER GEN6_3D(3, 0, 0x0A)
-#define GEN6_3DSTATE_VIEWPORT_STATE_POINTERS GEN6_3D(3, 0, 0x0D)
+#define GEN6_3DSTATE_VERTEX_BUFFERS GEN4_3D(3, 0, 0x08)
+#define GEN6_3DSTATE_VERTEX_ELEMENTS GEN4_3D(3, 0, 0x09)
+#define GEN6_3DSTATE_INDEX_BUFFER GEN4_3D(3, 0, 0x0A)
+#define GEN6_3DSTATE_VIEWPORT_STATE_POINTERS GEN4_3D(3, 0, 0x0D)
# define GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_CC (1 << 12)
# define GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_SF (1 << 11)
# define GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_CLIP (1 << 10)
-#define GEN6_3DSTATE_CC_STATE_POINTERS GEN6_3D(3, 0, 0x0E)
+#define GEN6_3DSTATE_CC_STATE_POINTERS GEN4_3D(3, 0, 0x0E)
-#define GEN6_3DSTATE_VS GEN6_3D(3, 0, 0x10)
+#define GEN6_3DSTATE_VS GEN4_3D(3, 0, 0x10)
-#define GEN6_3DSTATE_GS GEN6_3D(3, 0, 0x11)
+#define GEN6_3DSTATE_GS GEN4_3D(3, 0, 0x11)
/* DW4 */
# define GEN6_3DSTATE_GS_DISPATCH_START_GRF_SHIFT 0
-#define GEN6_3DSTATE_CLIP GEN6_3D(3, 0, 0x12)
+#define GEN6_3DSTATE_CLIP GEN4_3D(3, 0, 0x12)
-#define GEN6_3DSTATE_SF GEN6_3D(3, 0, 0x13)
+#define GEN6_3DSTATE_SF GEN4_3D(3, 0, 0x13)
/* DW1 */
# define GEN6_3DSTATE_SF_NUM_OUTPUTS_SHIFT 22
# define GEN6_3DSTATE_SF_URB_ENTRY_READ_LENGTH_SHIFT 11
@@ -76,7 +77,7 @@
# define GEN6_3DSTATE_SF_TRIFAN_PROVOKE_SHIFT 25
# define GEN6_3DSTATE_SF_VERTEX_SUB_PIXEL_PRECISION_SHIFT 12
-#define GEN6_3DSTATE_WM GEN6_3D(3, 0, 0x14)
+#define GEN6_3DSTATE_WM GEN4_3D(3, 0, 0x14)
/* DW2 */
# define GEN6_3DSTATE_WM_SAMPLER_COUNT_SHIFT 27
# define GEN6_3DSTATE_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT 18
@@ -96,28 +97,28 @@
# define GEN6_3DSTATE_WM_PERSPECTIVE_CENTROID_BARYCENTRIC (1 << 11)
# define GEN6_3DSTATE_WM_PERSPECTIVE_PIXEL_BARYCENTRIC (1 << 10)
-#define GEN6_3DSTATE_CONSTANT_VS GEN6_3D(3, 0, 0x15)
-#define GEN6_3DSTATE_CONSTANT_GS GEN6_3D(3, 0, 0x16)
-#define GEN6_3DSTATE_CONSTANT_PS GEN6_3D(3, 0, 0x17)
+#define GEN6_3DSTATE_CONSTANT_VS GEN4_3D(3, 0, 0x15)
+#define GEN6_3DSTATE_CONSTANT_GS GEN4_3D(3, 0, 0x16)
+#define GEN6_3DSTATE_CONSTANT_PS GEN4_3D(3, 0, 0x17)
-#define GEN6_3DSTATE_SAMPLE_MASK GEN6_3D(3, 0, 0x18)
+#define GEN6_3DSTATE_SAMPLE_MASK GEN4_3D(3, 0, 0x18)
-#define GEN6_3DSTATE_DRAWING_RECTANGLE GEN6_3D(3, 1, 0x00)
-#define GEN6_3DSTATE_CONSTANT_COLOR GEN6_3D(3, 1, 0x01)
-#define GEN6_3DSTATE_SAMPLER_PALETTE_LOAD GEN6_3D(3, 1, 0x02)
-#define GEN6_3DSTATE_CHROMA_KEY GEN6_3D(3, 1, 0x04)
-#define GEN6_3DSTATE_DEPTH_BUFFER GEN6_3D(3, 1, 0x05)
+#define GEN6_3DSTATE_DRAWING_RECTANGLE GEN4_3D(3, 1, 0x00)
+#define GEN6_3DSTATE_CONSTANT_COLOR GEN4_3D(3, 1, 0x01)
+#define GEN6_3DSTATE_SAMPLER_PALETTE_LOAD GEN4_3D(3, 1, 0x02)
+#define GEN6_3DSTATE_CHROMA_KEY GEN4_3D(3, 1, 0x04)
+#define GEN6_3DSTATE_DEPTH_BUFFER GEN4_3D(3, 1, 0x05)
# define GEN6_3DSTATE_DEPTH_BUFFER_TYPE_SHIFT 29
# define GEN6_3DSTATE_DEPTH_BUFFER_FORMAT_SHIFT 18
-#define GEN6_3DSTATE_POLY_STIPPLE_OFFSET GEN6_3D(3, 1, 0x06)
-#define GEN6_3DSTATE_POLY_STIPPLE_PATTERN GEN6_3D(3, 1, 0x07)
-#define GEN6_3DSTATE_LINE_STIPPLE GEN6_3D(3, 1, 0x08)
-#define GEN6_3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP GEN6_3D(3, 1, 0x09)
+#define GEN6_3DSTATE_POLY_STIPPLE_OFFSET GEN4_3D(3, 1, 0x06)
+#define GEN6_3DSTATE_POLY_STIPPLE_PATTERN GEN4_3D(3, 1, 0x07)
+#define GEN6_3DSTATE_LINE_STIPPLE GEN4_3D(3, 1, 0x08)
+#define GEN6_3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP GEN4_3D(3, 1, 0x09)
/* These two are BLC and CTG only, not BW or CL */
-#define GEN6_3DSTATE_AA_LINE_PARAMS GEN6_3D(3, 1, 0x0A)
-#define GEN6_3DSTATE_GS_SVB_INDEX GEN6_3D(3, 1, 0x0B)
-#define GEN6_3DSTATE_MULTISAMPLE GEN6_3D(3, 1, 0x0D)
+#define GEN6_3DSTATE_AA_LINE_PARAMS GEN4_3D(3, 1, 0x0A)
+#define GEN6_3DSTATE_GS_SVB_INDEX GEN4_3D(3, 1, 0x0B)
+#define GEN6_3DSTATE_MULTISAMPLE GEN4_3D(3, 1, 0x0D)
/* DW1 */
# define GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_CENTER (0 << 4)
# define GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_UPPER_LEFT (1 << 4)
@@ -125,7 +126,7 @@
# define GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_4 (2 << 1)
# define GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_8 (3 << 1)
-#define GEN6_3DSTATE_CLEAR_PARAMS GEN6_3D(3, 1, 0x10)
+#define GEN6_3DSTATE_CLEAR_PARAMS GEN4_3D(3, 1, 0x10)
/* DW1 */
# define GEN6_3DSTATE_DEPTH_CLEAR_VALID (1 << 15)
# define GEN6_PIPE_CONTROL_NOWRITE (0 << 14)
@@ -141,25 +142,25 @@
# define GEN6_PIPE_CONTROL_LOCAL_PGTT (0 << 2)
# define GEN6_PIPE_CONTROL_DEPTH_CACHE_FLUSH (1 << 0)
-#define GEN6_3DSTATE_MONOFILTER_SIZE GEN6_3D(3, 1, 0x11)
-#define GEN6_PIPE_CONTROL GEN6_3D(3, 2, 0)
+#define GEN6_3DSTATE_MONOFILTER_SIZE GEN4_3D(3, 1, 0x11)
+#define GEN6_PIPE_CONTROL GEN4_3D(3, 2, 0)
-#define GEN6_3DPRIMITIVE GEN6_3D(3, 3, 0)
+#define GEN6_3DPRIMITIVE GEN4_3D(3, 3, 0)
# define GEN6_3DPRIMITIVE_VERTEX_SEQUENTIAL (0 << 15)
# define GEN6_3DPRIMITIVE_VERTEX_RANDOM (1 << 15)
/* Primitive types are in gen6_defines.h */
# define GEN6_3DPRIMITIVE_TOPOLOGY_SHIFT 10
/* VERTEX_BUFFER_STATE Structure */
-#define VB0_BUFFER_INDEX_SHIFT 26
-#define VB0_VERTEXDATA (0 << 20)
-#define VB0_INSTANCEDATA (1 << 20)
+#define GEN6_VB0_BUFFER_INDEX_SHIFT 26
+#define GEN6_VB0_VERTEXDATA (0 << 20)
+#define GEN6_VB0_INSTANCEDATA (1 << 20)
#define VB0_BUFFER_PITCH_SHIFT 0
#define VB0_NULL_VERTEX_BUFFER (1 << 13)
/* VERTEX_ELEMENT_STATE Structure */
-#define VE0_VERTEX_BUFFER_INDEX_SHIFT 26 /* for GEN6 */
-#define VE0_VALID (1 << 25) /* for GEN6 */
+#define GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT 26 /* for GEN6 */
+#define GEN6_VE0_VALID (1 << 25) /* for GEN6 */
#define VE0_FORMAT_SHIFT 16
#define VE0_OFFSET_SHIFT 0
#define VE1_VFCOMPONENT_0_SHIFT 28
@@ -1072,18 +1073,4 @@ struct gen6_cc_viewport {
float max_depth;
};
-typedef enum {
- SAMPLER_FILTER_NEAREST = 0,
- SAMPLER_FILTER_BILINEAR,
- FILTER_COUNT
-} sampler_filter_t;
-
-typedef enum {
- SAMPLER_EXTEND_NONE = 0,
- SAMPLER_EXTEND_REPEAT,
- SAMPLER_EXTEND_PAD,
- SAMPLER_EXTEND_REFLECT,
- EXTEND_COUNT
-} sampler_extend_t;
-
#endif