diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2020-09-22 02:09:17 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2020-09-22 02:09:17 +0000 |
commit | 865c23c9c56f47f6cf8d73e8a6060a0c33a28b93 (patch) | |
tree | aeed22bc39ce87dd6f09ff173c8273beaef65fe7 /lib/mesa/src/gallium/include | |
parent | 27e7bb02bd0f89f96d9e3b402b46c2c97ee4defe (diff) |
Merge Mesa 20.0.8
With Mesa 20.1 even after the kernel change to do wbinvd on all cpus
sthen@ reported that hard hangs still occurred on his Haswell system
with inteldrm.
Mark Kane also reported seeing hangs on Ivy Bridge on bugs@.
Some systems/workloads seem to be more prone to triggering this than
others as I have not seen any hangs on Ivy Bridge and the only hangs
I saw on Haswell when running piglit went away with the wbinvd change.
It seems something is wrong with drm memory attributes or coherency in
the kernel and newer Mesa versions expect behaviour we don't have.
Diffstat (limited to 'lib/mesa/src/gallium/include')
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_compiler.h | 2 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_context.h | 15 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_defines.h | 47 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_format.h | 20 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_shader_tokens.h | 2 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_state.h | 6 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/pipe/p_video_state.h | 4 | ||||
-rw-r--r-- | lib/mesa/src/gallium/include/state_tracker/st_api.h | 2 |
8 files changed, 15 insertions, 83 deletions
diff --git a/lib/mesa/src/gallium/include/pipe/p_compiler.h b/lib/mesa/src/gallium/include/pipe/p_compiler.h index 8c3a793e3..286951738 100644 --- a/lib/mesa/src/gallium/include/pipe/p_compiler.h +++ b/lib/mesa/src/gallium/include/pipe/p_compiler.h @@ -128,7 +128,7 @@ typedef unsigned char boolean; /* See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Variable-Attributes.html */ #define PIPE_ALIGN_VAR(_alignment) __attribute__((aligned(_alignment))) -#if defined(__GNUC__) && defined(PIPE_ARCH_X86) +#if defined(__GNUC__) && !defined(PIPE_ARCH_X86_64) #define PIPE_ALIGN_STACK __attribute__((force_align_arg_pointer)) #else #define PIPE_ALIGN_STACK diff --git a/lib/mesa/src/gallium/include/pipe/p_context.h b/lib/mesa/src/gallium/include/pipe/p_context.h index 1926feff3..b8051df57 100644 --- a/lib/mesa/src/gallium/include/pipe/p_context.h +++ b/lib/mesa/src/gallium/include/pipe/p_context.h @@ -219,7 +219,7 @@ struct pipe_context { struct pipe_query *(*new_intel_perf_query_obj)(struct pipe_context *pipe, unsigned query_index); - bool (*begin_intel_perf_query)(struct pipe_context *pipe, struct pipe_query *q); + void (*begin_intel_perf_query)(struct pipe_context *pipe, struct pipe_query *q); void (*end_intel_perf_query)(struct pipe_context *pipe, struct pipe_query *q); @@ -469,17 +469,6 @@ struct pipe_context { /** - * INTEL_blackhole_render - */ - /*@{*/ - - void (*set_frontend_noop)(struct pipe_context *, - bool enable); - - /*@}*/ - - - /** * Resource functions for blit-like functionality * * If a driver supports multisampling, blit must implement color resolve. @@ -512,14 +501,12 @@ struct pipe_context { * The entire buffers are cleared (no scissor, no colormask, etc). * * \param buffers bitfield of PIPE_CLEAR_* values. - * \param scissor_state the scissored region to clear * \param color pointer to a union of fiu array for each of r, g, b, a. * \param depth depth clear value in [0,1]. * \param stencil stencil clear value */ void (*clear)(struct pipe_context *pipe, unsigned buffers, - const struct pipe_scissor_state *scissor_state, const union pipe_color_union *color, double depth, unsigned stencil); diff --git a/lib/mesa/src/gallium/include/pipe/p_defines.h b/lib/mesa/src/gallium/include/pipe/p_defines.h index 9ab7fe63d..4a7edd4e0 100644 --- a/lib/mesa/src/gallium/include/pipe/p_defines.h +++ b/lib/mesa/src/gallium/include/pipe/p_defines.h @@ -346,13 +346,6 @@ enum pipe_transfer_usage PIPE_TRANSFER_COHERENT = (1 << 14), /** - * Map a resource in a thread-safe manner, because the calling thread can - * be any thread. It can only be used if both WRITE and UNSYNCHRONIZED are - * set. - */ - PIPE_TRANSFER_THREAD_SAFE = 1 << 15, - - /** * This and higher bits are reserved for private use by drivers. Drivers * should use this as (PIPE_TRANSFER_DRV_PRV << i). */ @@ -633,20 +626,6 @@ enum pipe_swizzle { PIPE_SWIZZLE_MAX, /**< Number of enums counter (must be last) */ }; -/** - * Viewport swizzles - */ -enum pipe_viewport_swizzle { - PIPE_VIEWPORT_SWIZZLE_POSITIVE_X, - PIPE_VIEWPORT_SWIZZLE_NEGATIVE_X, - PIPE_VIEWPORT_SWIZZLE_POSITIVE_Y, - PIPE_VIEWPORT_SWIZZLE_NEGATIVE_Y, - PIPE_VIEWPORT_SWIZZLE_POSITIVE_Z, - PIPE_VIEWPORT_SWIZZLE_NEGATIVE_Z, - PIPE_VIEWPORT_SWIZZLE_POSITIVE_W, - PIPE_VIEWPORT_SWIZZLE_NEGATIVE_W, -}; - #define PIPE_TIMEOUT_INFINITE 0xffffffffffffffffull @@ -817,7 +796,6 @@ enum pipe_cap PIPE_CAP_SHAREABLE_SHADERS, PIPE_CAP_COPY_BETWEEN_COMPRESSED_AND_PLAIN_FORMATS, PIPE_CAP_CLEAR_TEXTURE, - PIPE_CAP_CLEAR_SCISSORED, PIPE_CAP_DRAW_PARAMETERS, PIPE_CAP_TGSI_PACK_HALF_FLOAT, PIPE_CAP_MULTI_DRAW_INDIRECT, @@ -934,20 +912,6 @@ enum pipe_cap PIPE_CAP_MAX_VERTEX_BUFFERS, PIPE_CAP_OPENCL_INTEGER_FUNCTIONS, PIPE_CAP_INTEGER_MULTIPLY_32X16, - /* Turn draw, dispatch, blit into NOOP */ - PIPE_CAP_FRONTEND_NOOP, - PIPE_CAP_NIR_IMAGES_AS_DEREF, - PIPE_CAP_PACKED_STREAM_OUTPUT, - PIPE_CAP_VIEWPORT_TRANSFORM_LOWERED, - PIPE_CAP_PSIZ_CLAMPED, - PIPE_CAP_DRAW_INFO_START_WITH_USER_INDICES, - PIPE_CAP_GL_BEGIN_END_BUFFER_SIZE, - PIPE_CAP_VIEWPORT_SWIZZLE, - PIPE_CAP_SYSTEM_SVM, - PIPE_CAP_VIEWPORT_MASK, - PIPE_CAP_ALPHA_TO_COVERAGE_DITHER_CONTROL, - PIPE_CAP_MAP_UNSYNCHRONIZED_THREAD_SAFE, - PIPE_CAP_NO_CLIP_ON_COPY_TEX, }; /** @@ -1274,6 +1238,17 @@ enum pipe_fd_type PIPE_FD_TYPE_SYNCOBJ, }; +enum pipe_debug_type +{ + PIPE_DEBUG_TYPE_OUT_OF_MEMORY = 1, + PIPE_DEBUG_TYPE_ERROR, + PIPE_DEBUG_TYPE_SHADER_INFO, + PIPE_DEBUG_TYPE_PERF_INFO, + PIPE_DEBUG_TYPE_INFO, + PIPE_DEBUG_TYPE_FALLBACK, + PIPE_DEBUG_TYPE_CONFORMANCE, +}; + /** * counter type and counter data type enums used by INTEL_performance_query * APIs in gallium drivers. diff --git a/lib/mesa/src/gallium/include/pipe/p_format.h b/lib/mesa/src/gallium/include/pipe/p_format.h index a51843caa..46bb8c97a 100644 --- a/lib/mesa/src/gallium/include/pipe/p_format.h +++ b/lib/mesa/src/gallium/include/pipe/p_format.h @@ -560,26 +560,6 @@ enum pipe_video_chroma_format PIPE_VIDEO_CHROMA_FORMAT_NONE }; -static inline enum pipe_video_chroma_format -pipe_format_to_chroma_format(enum pipe_format format) -{ - switch (format) { - case PIPE_FORMAT_NV12: - case PIPE_FORMAT_NV21: - case PIPE_FORMAT_YV12: - case PIPE_FORMAT_IYUV: - case PIPE_FORMAT_P010: - case PIPE_FORMAT_P016: - return PIPE_VIDEO_CHROMA_FORMAT_420; - case PIPE_FORMAT_UYVY: - case PIPE_FORMAT_YUYV: - case PIPE_FORMAT_YV16: - return PIPE_VIDEO_CHROMA_FORMAT_422; - default: - return PIPE_VIDEO_CHROMA_FORMAT_NONE; - } -} - #ifdef __cplusplus } #endif diff --git a/lib/mesa/src/gallium/include/pipe/p_shader_tokens.h b/lib/mesa/src/gallium/include/pipe/p_shader_tokens.h index 7c5828ca8..5770eba08 100644 --- a/lib/mesa/src/gallium/include/pipe/p_shader_tokens.h +++ b/lib/mesa/src/gallium/include/pipe/p_shader_tokens.h @@ -209,7 +209,6 @@ enum tgsi_semantic { TGSI_SEMANTIC_SUBGROUP_LE_MASK, TGSI_SEMANTIC_SUBGROUP_LT_MASK, TGSI_SEMANTIC_CS_USER_DATA_AMD, - TGSI_SEMANTIC_VIEWPORT_MASK, TGSI_SEMANTIC_TESS_DEFAULT_OUTER_LEVEL, /**< from set_tess_state */ TGSI_SEMANTIC_TESS_DEFAULT_INNER_LEVEL, /**< from set_tess_state */ TGSI_SEMANTIC_COUNT, /**< number of semantic values */ @@ -307,7 +306,6 @@ enum tgsi_property_name { TGSI_PROPERTY_MUL_ZERO_WINS, TGSI_PROPERTY_VS_BLIT_SGPRS_AMD, TGSI_PROPERTY_CS_USER_DATA_COMPONENTS_AMD, - TGSI_PROPERTY_LAYER_VIEWPORT_RELATIVE, TGSI_PROPERTY_COUNT, }; diff --git a/lib/mesa/src/gallium/include/pipe/p_state.h b/lib/mesa/src/gallium/include/pipe/p_state.h index 2a14b9a43..b0d8eaed2 100644 --- a/lib/mesa/src/gallium/include/pipe/p_state.h +++ b/lib/mesa/src/gallium/include/pipe/p_state.h @@ -213,10 +213,6 @@ struct pipe_viewport_state { float scale[3]; float translate[3]; - enum pipe_viewport_swizzle swizzle_x:3; - enum pipe_viewport_swizzle swizzle_y:3; - enum pipe_viewport_swizzle swizzle_z:3; - enum pipe_viewport_swizzle swizzle_w:3; }; @@ -362,9 +358,7 @@ struct pipe_blend_state unsigned logicop_func:4; /**< PIPE_LOGICOP_x */ unsigned dither:1; unsigned alpha_to_coverage:1; - unsigned alpha_to_coverage_dither:1; unsigned alpha_to_one:1; - unsigned max_rt:3; /* index of max rt, Ie. # of cbufs minus 1 */ struct pipe_rt_blend_state rt[PIPE_MAX_COLOR_BUFS]; }; diff --git a/lib/mesa/src/gallium/include/pipe/p_video_state.h b/lib/mesa/src/gallium/include/pipe/p_video_state.h index 2ace94773..1369f1a8c 100644 --- a/lib/mesa/src/gallium/include/pipe/p_video_state.h +++ b/lib/mesa/src/gallium/include/pipe/p_video_state.h @@ -431,7 +431,7 @@ struct pipe_h264_enc_picture_desc bool not_referenced; bool enable_vui; - struct hash_table *frame_idx; + struct util_hash_table *frame_idx; }; @@ -513,7 +513,7 @@ struct pipe_h265_enc_picture_desc unsigned ref_idx_l0; unsigned ref_idx_l1; bool not_referenced; - struct hash_table *frame_idx; + struct util_hash_table *frame_idx; }; struct pipe_h265_sps diff --git a/lib/mesa/src/gallium/include/state_tracker/st_api.h b/lib/mesa/src/gallium/include/state_tracker/st_api.h index 3777449e6..0b953d6fb 100644 --- a/lib/mesa/src/gallium/include/state_tracker/st_api.h +++ b/lib/mesa/src/gallium/include/state_tracker/st_api.h @@ -234,8 +234,6 @@ struct st_config_options bool force_glsl_abs_sqrt; bool allow_glsl_cross_stage_interpolation_mismatch; bool allow_glsl_layout_qualifier_on_function_parameters; - bool allow_draw_out_of_order; - bool force_integer_tex_nearest; char *force_gl_vendor; unsigned char config_options_sha1[20]; }; |