gallium: add PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET
[mesa.git] / src / gallium / include / pipe / p_defines.h
index ce2cfd1d88f9f0ce680e5180dcd5ecf6b4ead716..ddc951464b9130d82423e14c792c36c4f62736b0 100644 (file)
@@ -358,9 +358,6 @@ enum pipe_flush_flags
  * Flags for pipe_context::dump_debug_state.
  */
 #define PIPE_DUMP_DEVICE_STATUS_REGISTERS    (1 << 0)
-#define PIPE_DUMP_CURRENT_STATES             (1 << 1)
-#define PIPE_DUMP_CURRENT_SHADERS            (1 << 2)
-#define PIPE_DUMP_LAST_COMMAND_BUFFER        (1 << 3)
 
 /**
  * Create a compute-only context. Use in pipe_screen::context_create.
@@ -383,6 +380,14 @@ enum pipe_flush_flags
  */
 #define PIPE_CONTEXT_ROBUST_BUFFER_ACCESS (1 << 2)
 
+/**
+ * Prefer threaded pipe_context. It also implies that video codec functions
+ * will not be used. (they will be either no-ops or NULL when threading is
+ * enabled)
+ */
+#define PIPE_CONTEXT_PREFER_THREADED   (1 << 3)
+
+
 /**
  * Flags for pipe_context::memory_barrier.
  */
@@ -525,6 +530,7 @@ enum pipe_tess_spacing {
 enum pipe_query_type {
    PIPE_QUERY_OCCLUSION_COUNTER,
    PIPE_QUERY_OCCLUSION_PREDICATE,
+   PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE,
    PIPE_QUERY_TIMESTAMP,
    PIPE_QUERY_TIMESTAMP_DISJOINT,
    PIPE_QUERY_TIME_ELAPSED,
@@ -532,6 +538,7 @@ enum pipe_query_type {
    PIPE_QUERY_PRIMITIVES_EMITTED,
    PIPE_QUERY_SO_STATISTICS,
    PIPE_QUERY_SO_OVERFLOW_PREDICATE,
+   PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE,
    PIPE_QUERY_GPU_FINISHED,
    PIPE_QUERY_PIPELINE_STATISTICS,
    PIPE_QUERY_TYPES,
@@ -762,6 +769,18 @@ enum pipe_cap
    PIPE_CAP_SPARSE_BUFFER_PAGE_SIZE,
    PIPE_CAP_TGSI_BALLOT,
    PIPE_CAP_TGSI_TES_LAYER_VIEWPORT,
+   PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX,
+   PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION,
+   PIPE_CAP_POST_DEPTH_COVERAGE,
+   PIPE_CAP_BINDLESS_TEXTURE,
+   PIPE_CAP_NIR_SAMPLERS_AS_DEREF,
+   PIPE_CAP_QUERY_SO_OVERFLOW,
+   PIPE_CAP_MEMOBJ,
+   PIPE_CAP_LOAD_CONSTBUF,
+   PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS,
+   PIPE_CAP_TILE_RASTER_ORDER,
+   PIPE_CAP_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+   PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET,
 };
 
 #define PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50 (1 << 0)
@@ -817,6 +836,8 @@ enum pipe_shader_cap
    PIPE_SHADER_CAP_INDIRECT_CONST_ADDR,
    PIPE_SHADER_CAP_SUBROUTINES, /* BGNSUB, ENDSUB, CAL, RET */
    PIPE_SHADER_CAP_INTEGERS,
+   PIPE_SHADER_CAP_INT64_ATOMICS,
+   PIPE_SHADER_CAP_FP16,
    PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS,
    PIPE_SHADER_CAP_PREFERRED_IR,
    PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED,
@@ -831,6 +852,7 @@ enum pipe_shader_cap
    PIPE_SHADER_CAP_MAX_SHADER_IMAGES,
    PIPE_SHADER_CAP_LOWER_IF_THRESHOLD,
    PIPE_SHADER_CAP_TGSI_SKIP_MERGE_REGISTERS,
+   PIPE_SHADER_CAP_TGSI_LDEXP_SUPPORTED,
 };
 
 /**
@@ -932,7 +954,9 @@ union pipe_numeric_type_union
 union pipe_query_result
 {
    /* PIPE_QUERY_OCCLUSION_PREDICATE */
+   /* PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE */
    /* PIPE_QUERY_SO_OVERFLOW_PREDICATE */
+   /* PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE */
    /* PIPE_QUERY_GPU_FINISHED */
    boolean b;
 
@@ -1047,6 +1071,7 @@ enum pipe_debug_type
    PIPE_DEBUG_TYPE_CONFORMANCE,
 };
 
+#define PIPE_UUID_SIZE 16
 
 #ifdef __cplusplus
 }