summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-03-26microsoft/compiler: Simplify code emitting CL globalsJesse Natalie1-39/+16
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803>
2024-03-26microsoft/clc: When possible, compute a part-constant "pointer" value for ↵Jesse Natalie3-1/+85
kernel inputs When a kernel input is a pointer to global or constant memory, it's expected that the invoker provides the pointer value in the form of (buffer_index << 32) | offset. The buffer index, however, is statically knowable in the compiler, as long as a buffer is bound. Since it's undefined behavior to dereference the pointer with no buffer bound, we can replace any deref chain that terminates in an access with one that uses a constant buffer index. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803>
2024-03-26microsoft/compiler: Don't store static-indexing handles that are dynamically ↵Jesse Natalie1-12/+10
emitted These handles can be emitted in control flow, which means that the handle might be in a block which does not dominate a block that's processed later on, which results in incorrect DXIL if we try to reference it. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803>
2024-03-26nir: Handle ptr_as_array for build_deref_followerJesse Natalie1-0/+10
Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26803>
2024-03-26d3d12: Implement PIPE_VIDEO_CAP_ENC_SURFACE_ALIGNMENTSil Vilerino1-3/+12
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28398>
2024-03-25ci/debian: Update DirectX-HeadersJesse Natalie2-2/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
2024-03-25ci/windows: Update DirectX-Headers, Agility SDK, zlib, DXC, and WARPJesse Natalie6-50/+12
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
2024-03-25microsoft/compiler: Disable GS streams workaround for validator 1.8Jesse Natalie1-2/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
2024-03-25microsoft/compiler: domainLocation component index needs to be i8Jesse Natalie2-2/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
2024-03-25dzn: Initialize memoryTypeBits for querying properties on imported handlesJesse Natalie1-0/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
2024-03-25dzn: Include vulkan_core.h instead of vulkan.h in the device enum headerJesse Natalie1-1/+1
Prevents pulling in X11 "None" define into the DXCore implementation, which conflicts with updated DXCore headers. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10803 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28339>
2024-03-24nir_tests: Add /bigobj when compiling with MSVCJesse Natalie1-1/+6
Otherwise the opt_varying tests fail to compile Fixes: 6dbd1dcd ("nir/tests: add tests for nir_opt_varyings") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28345>
2024-03-22wgl: Check for null before dereferencing ctx in swapJesse Natalie1-1/+2
Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28211>
2024-03-22wgl: Delete unused context param to swapJesse Natalie3-6/+5
Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28211>
2024-03-08d3d12: Video Encode - Add driver workaround for rate control reconfigurationSil Vilerino2-6/+34
Adds a driver workaround for IHVs actually supporting rate control reconfiguration but not reporting it in the DX12 driver support flags, and later having crashes/hangs in the driver when the rate control reconfiguration happens using the fallback method that includes re-creating the encoder state and encoder heap objects upon new rate control params Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28075>
2024-03-08d3d12: Only check D3D12_FEATURE_DATA_PLACED_RESOURCE_SUPPORT_INFO for ↵Sil Vilerino1-1/+1
D3D_FEATURE_LEVEL_1_0_GENERIC Fixes: 55e377e9652 ("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28074>
2024-03-08d3d12: Add GetDesc wrapper for ID3D12HeapSil Vilerino2-1/+13
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10779 Fixes: 55e377e9652 ("d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28074>
2024-03-07dzn: Support bufferDeviceAddressJesse Natalie1-5/+11
Flip on the caps/extensions, use their presence to turn on bindless just like descriptor_indexing, use the buffer flag to indicate UAV access, and fix up the getter to return the kind of data we want. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28028>
2024-03-07spirv2dxil: Support buffer_device_addressJesse Natalie3-0/+69
This works similarly to the CL compiler, where a 64-bit address is decomposed into a 32-bit index and offset. But unlike CL, where the index is into a per-kernel array of bound buffers, for Vulkan it points into the global device-wide descriptor heap. For all global deref chains that terminate in a load/store/atomic, create a parallel deref chain that begins by decomposing the pointer to a vec2, followed by a load_vulkan_descriptor, and then an SSBO deref chain. Any instance where the original deref chain was used for something else will remain as global derefs, so also run lower_explicit_io for global to produce appropriate pointer math. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28028>
2024-03-07nir_lower_tex_shadow: For old-style shadows, use vec4(result, 0, 0, 1)Jesse Natalie1-1/+1
If the app requests a swizzle on the shadow sampler which doesn't just return the red channel or literal 0s/1s, we'll crash attempting to build the result vector. Use something that's probably valid. Cc: mesa-stable Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28001>
2024-03-06d3d12: Refactor graphics functions from context and blit to separate filesSil Vilerino11-912/+1044
Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06d3d12: Add partial media, compute, graphics support with CORE and GENERIC ↵Sil Vilerino12-300/+484
feature levels Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06frontend/va: Use get_resources in VaDeriveImage for media only devices ↵Sil Vilerino1-11/+14
without get_surfaces support Reviewed-by: Thong Thai <thong.thai@amd.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06frontend/va: Support media only post proc without compositor using shaders ↵Sil Vilerino6-29/+61
or surfaces Reviewed-by: Thong Thai <thong.thai@amd.com> Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
2024-03-06d3d12: HEVC encode - Update CQP using current frame type as per VA frontend ↵Sil Vilerino1-6/+26
change Fixes: 8c9445896fa ("frontends/va: Separate QP for I/P/B frames") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018>
2024-03-06d3d12: H264 encode - Update CQP using current frame type as per VA frontend ↵Sil Vilerino1-6/+28
change Fixes: 8c9445896fa ("frontends/va: Separate QP for I/P/B frames") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018>
2024-03-06d3d12: AV1 encode - Configure CQP using qp and new qp_inter parametersSil Vilerino1-8/+34
Fixes: 8c9445896fa ("frontends/va: Separate QP for I/P/B frames") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28018>
2024-03-06d3d12: Point sprite lowering pass needs to handle arraysJesse Natalie2-18/+23
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27999>
2024-03-06wgl: Initialize DEVMODE structJesse Natalie1-1/+1
Otherwise the dmDriverExtra field might be uninitialized and have a nonzero value, which can cause the API implementation to smash the stack when copying to the output struct. Cc: mesa-stable Reviewed-by: Joshua Ashton <joshua@froggi.es> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27998>
2024-03-05microsoft/compiler: Remove code after discard/terminate in later ↵Jesse Natalie1-36/+9
optimization steps Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27996>
2024-03-01microsoft/compiler: Remove deref load/store/atomic ops that statically go ↵Jesse Natalie3-0/+51
out of array bounds Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27919>
2024-03-01spirv2dxil: Set push constant register space to nonzeroJesse Natalie1-0/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27919>
2024-03-01d3d12: Do not use PIPE_BIND_DISPLAY_TARGET for d3d12_video_bufferSil Vilerino1-1/+1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27918>
2024-02-29wgl: Check for stw_device->screen before trying to destroy itJesse Natalie1-1/+2
The stw_device and its screen are set up independently. It's possible to have a device without a screen if the DLL is loaded but never called into, since DllMain for PROCESS_ATTACH sets up the stw_device, but the screen is initialized later on the first call to get pixel formats. If the DLL is loaded and then unloaded, don't crash. Cc: mesa-stable Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27892>
2024-02-29dzn: Fix conditions for barrier in texture-converting copy caseJesse Natalie1-11/+9
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27864>
2024-02-21microsoft/compiler: Fix SM6.6 non-bindless handle annotation for UAV counterJesse Natalie1-1/+1
Counter bool is 8, not 6. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27708>
2024-02-15d3d12: Support R16G16B16A16_FLOAT display targetsJesse Natalie3-9/+48
Since GDI doesn't support this format, we need a fallback path to get contents on-screen if we're not using DXGI. For that scenario, we allocate a proxy display target and blit during frontbuffer flush. Once we have that fallback in place, we can override the sw winsys format support check for that format. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15winsys/d3d12: Support single-buffered modeJesse Natalie1-38/+87
When the frontend asks for the front buffer, we return an offscreen surface, when the frontend asks us to flush that surface, we copy it to the swapchain, and then present remains unchanged. This means the only reason we need to avoid using a swapchain is if the app asks for GDI compatibility. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15wgl: Add HDR pixel formatsJesse Natalie1-10/+10
Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15wgl: Enable WGL_ARB_pixel_format_floatJesse Natalie1-0/+1
We already implement all of the relevant bits of this extension, which is just handling WGL_TYPE_RGBA_FLOAT_ARB for WGL_PIXEL_TYPE_ARB in wglGetPixelFormatAttrib[i/f]vARB and wglChoosePixelFormatARB. We just didn't have any float formats enumerated so it was never seen in practice. Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15wgl: Add no-gdi-single-buffered and gdi-double-buffered PFDsJesse Natalie1-29/+20
Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15wgl: Flush frontbuffer when calling swapbuffers on single-buffered fbJesse Natalie1-2/+2
Some apps don't look at what kind of PFDthey get, and if they get a single-buffered one, they only ever call swap and never flush, so nothing shows up on-screen. Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15wgl: Support a single-buffered winsys framebufferJesse Natalie2-2/+10
Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Reviewed-by: Jose Fonseca <jose.fonseca@broadcom.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27512>
2024-02-15microsoft/compiler: Fix wave size control for SM6.8+Jesse Natalie2-3/+21
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27624>
2024-02-15microsoft/compiler: Fix wave size control for SM6.6+Jesse Natalie1-3/+15
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27624>
2024-02-15microsoft/compiler: For emulating scan, ensure all threads are active when ↵Jesse Natalie1-6/+12
reading cross-lane HLSL docs say WaveReadLaneAt is undefined if the target lane is inactive. This makes sense since the target lane may need to *send* the data, rather than it being pulled by the calling lane. So don't early-out on the loop, iterate through the whole wave on all threads and read the cross-lane data before branching. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27624>
2024-02-13dzn: Add a driconf option to disable dzn for specific apps and use it for RDR2Jesse Natalie3-0/+15
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531>
2024-02-13dzn: Fix tessellation shader insertion into PSO descJesse Natalie1-2/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531>
2024-02-13dzn: Simultaneous-access is mutually exclusive with MSAAJesse Natalie1-1/+2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531>
2024-02-13spirv2dxil: Trivial fixes for tessellation shadersJesse Natalie1-2/+21
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27531>