d3d12: Advertise PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19396>
This commit is contained in:
Jesse Natalie
2022-10-29 07:53:45 -07:00
committed by Marge Bot
parent 61afaa0c68
commit b4f2b244fa
4 changed files with 11 additions and 16 deletions

View File

@@ -195,7 +195,7 @@ GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, i965/gen8+, nvc0, r600, radeonsi,
GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
GL_ARB_buffer_storage DONE (freedreno, i965, nv50, v3d, vc4, lima, panfrost, asahi)
GL_ARB_buffer_storage DONE (freedreno, i965, nv50, v3d, vc4, lima, panfrost, asahi, d3d12)
GL_ARB_clear_texture DONE (i965, nv50, softpipe, virgl)
GL_ARB_enhanced_layouts DONE (freedreno/a3xx+, i965, nv50, softpipe, virgl)
- compile-time constant expressions DONE

View File

@@ -285,14 +285,6 @@ spec/arb_blend_func_extended/arb_blend_func_extended-fbo-extended-blend-pattern_
spec/arb_blend_func_extended/arb_blend_func_extended-fbo-extended-blend_gles3: skip
spec/arb_blend_func_extended/arb_blend_func_extended-getfragdataindex_gles3: skip
spec/arb_blend_func_extended/arb_blend_func_extended-output-location_gles3: skip
spec/arb_buffer_storage/bufferstorage-persistent draw: skip
spec/arb_buffer_storage/bufferstorage-persistent draw client-storage: skip
spec/arb_buffer_storage/bufferstorage-persistent draw coherent: skip
spec/arb_buffer_storage/bufferstorage-persistent draw coherent client-storage: skip
spec/arb_buffer_storage/bufferstorage-persistent read: skip
spec/arb_buffer_storage/bufferstorage-persistent read client-storage: skip
spec/arb_buffer_storage/bufferstorage-persistent read coherent: skip
spec/arb_buffer_storage/bufferstorage-persistent read coherent client-storage: skip
spec/arb_buffer_storage/bufferstorage-persistent_gles3 draw: skip
spec/arb_buffer_storage/bufferstorage-persistent_gles3 draw client-storage: skip
spec/arb_buffer_storage/bufferstorage-persistent_gles3 draw coherent: skip
@@ -1505,7 +1497,6 @@ spec/arb_sparse_buffer/buffer-data: skip
spec/arb_sparse_buffer/commit: skip
spec/arb_sparse_buffer/minmax: skip
spec/arb_stencil_texturing/draw: fail
spec/arb_sync/clientwaitsync-timeout: skip
spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 32 1 1 128 1: skip
spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 32 1 1 128 2: skip
spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 32 1 1 128 3: skip
@@ -1650,7 +1641,6 @@ spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 512 42 8 8 3: sk
spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 512 42 8 8 4: skip
spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 512 42 8 8 7: skip
spec/arb_texture_barrier/arb_texture_barrier-blending-in-shader 512 42 8 8 8: skip
spec/arb_texture_buffer_object/bufferstorage: skip
spec/arb_texture_buffer_object/negative-unsupported: skip
spec/arb_texture_buffer_range/ranges-2: fail
spec/arb_texture_buffer_range/ranges-2 compat: fail
@@ -2515,7 +2505,6 @@ spec/arb_transform_feedback2/change objects while paused (gles3): skip
spec/arb_transform_feedback_instanced/draw-auto instanced: fail
spec/arb_transform_feedback_overflow_query/arb_transform_feedback_overflow_query-basic: skip
spec/arb_transform_feedback_overflow_query/arb_transform_feedback_overflow_query-errors: skip
spec/arb_uniform_buffer_object/bufferstorage: skip
spec/arb_vertex_attrib_64bit/arb_vertex_attrib_64bit-overlapping-locations api: crash
spec/arb_vertex_attrib_64bit/arb_vertex_attrib_64bit-overlapping-locations shader: crash
spec/arb_vertex_program/arb_vertex_program-matrix-property-bindings: fail
@@ -3519,10 +3508,10 @@ wgl/wgl-sanity: skip
summary:
name: results
---- --------
pass: 17865
pass: 17881
fail: 2043
crash: 11
skip: 1445
skip: 1434
timeout: 0
warn: 10
incomplete: 0
@@ -3531,4 +3520,4 @@ summary:
changes: 0
fixes: 0
regressions: 0
total: 21383
total: 21388

View File

@@ -146,7 +146,12 @@ init_buffer(struct d3d12_screen *screen,
* element state */
assert(templ->format == d3d12_emulated_vtx_format(templ->format));
switch (templ->usage) {
if ((templ->flags & PIPE_RESOURCE_FLAG_MAP_PERSISTENT) &&
res->base.b.usage == PIPE_USAGE_DEFAULT)
{
res->base.b.usage = PIPE_USAGE_STAGING;
}
switch (res->base.b.usage) {
case PIPE_USAGE_DEFAULT:
case PIPE_USAGE_IMMUTABLE:
bufmgr = screen->cache_bufmgr;

View File

@@ -265,6 +265,7 @@ d3d12_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
return screen->opts.PSSpecifiedStencilRefSupported;
case PIPE_CAP_SEAMLESS_CUBE_MAP:
case PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT:
case PIPE_CAP_TEXTURE_QUERY_LOD:
case PIPE_CAP_VS_INSTANCEID:
case PIPE_CAP_TGSI_TEX_TXF_LZ: