aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ac/nir: honor ACCESS_STREAM_CACHE_POLICY for L1 and L0 caches tooMarek Olšák2020-05-151-1/+1
| | | | | | Reviewed-by: Samuel Pitoiset <[email protected]> Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4935>
* radeonsi: Use TRUNC_COORD on samplersJoshua Ashton2020-05-151-0/+3
| | | | | | | | | | | | | | | | The default behaviour (0) is: "round-nearest-even to n.6 and drop fraction when point sampling" whereas the OpenGL spec simply wants us to floor it (1) "truncate when point sampling". See 8.14.2 in the OpenGL spec: https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf The Direct3D spec also mandates this (https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec.htm#7.18.7%20Point%20Sample%20Addressing) On WineD3D: This fixes some point-sampling texture precision issues in some Direct3D 9 titles such as Guild Wars 2 and htoL#NiQ: The Firefly Diary that are not present on other vendors. CC: <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3953>
* iris: Use modfiy disables for 3DSTATE_WM_DEPTH_STENCIL commandSagar Ghuge2020-05-152-4/+32
| | | | | | | | | | | | | | | | | | | | Add new IRIS_DIRTY_STENCIL_REF dirty flag which would help us to trigger separate 3DSTATE_WM_DEPTH_STENCIL packet using modify disable fields. Instead of merging two packets into one in order to build 3DSTATE_WM_DEPTH_STENCIL state, set_stencil_ref can use IRIS_DIRTY_STENCIL_REF bit and bind_zsa_state can use IRIS_DIRTY_WN_DEPTH_STENCIL, both could cause packet to happen with available information using modify disable bits which allow us to construct packet by ignoring set of fields. v2: (Kenneth Graunke) - Fix condition ordering. - Club GEN cases. Signed-off-by: Sagar Ghuge <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3688>
* radeon: Fix whitespacesThong Thai2020-05-155-264/+264
| | | | | | | | Minor adjustment to whitespace to align text since the indentation changed Signed-off-by: Thong Thai <[email protected]> Acked-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3523>
* radeonsi: don't expose 16xAA on chips with 1 RB due to an occlusion query issueMarek Olšák2020-05-151-9/+9
| | | | | | | | Only Stoney and Raven2 are affected. Cc: 20.0 20.1 <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5047>
* spirv: handle OpCopyObject correctly with any typesSamuel Pitoiset2020-05-153-6/+37
| | | | | | | | | | | | | | | | This implements OpCopyObject as a blind copy and propagates the access mask properly even if the source object type isn't a SSA value. This fixes some recent dEQP-VK.descriptor_indexing.* failures since CTS changed and now apply nonUniformEXT after constructing a combined image/sampler. Original patch is from Jason Ekstrand. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4909>
* etnaviv: retarget transfer to render resource when necessaryLucas Stach2020-05-151-1/+12
| | | | | | | | | | | | | | If we have a separate render resource, it may contain more up-to-date data than what is available in the base resource, so we need to retarget the transfer to this resource. As the most likely reason for the existence of the render resource is a multi-tiled render layout we need to allow this transfer to go through the resolve/blit copy path, as we can't de-/tile those layouts in software. Fixes: b96277653033 (etnaviv: rework compatible render base) Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5051>
* intel: Store the aperture size in devinfo.Rafael Antognolli2020-05-158-45/+20
| | | | | | | | | | | | We will later use the devinfo from iris_bufmgr, where we don't have access to the screen pointer. And since we are moving it, we can reuse it in Anv and i965. v2: return error code and check for it on Anv (Lionel). v3: Remove anv_gem_get_aperture() from anv_private.h and stubs (Lionel). Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5043>
* st/nine: Handle full pSourceRect betterAxel Davy2020-05-151-13/+13
| | | | | | | | | | | | Some apps do set pSourceRect to the full area even if not needed. Filtering out this case is helpful, as we currently do not handle properly resizing (pDestRect or window size not of the size of the resource) when pSourceRect is set. Indeed in this case pSourceRect needs to be modified before being passed to the presentation backend. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Ignore pDirtyRegionAxel Davy2020-05-151-1/+5
| | | | | | | | | We supported it, but it's not much useful. Besides it gets more complicated to handle right when you support resizing before display. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Improve pDestRect handlingAxel Davy2020-05-151-3/+18
| | | | | | | | | | | | | | | | pSourceRect and pDestRect allows to: A) display a crop of the backbuffer B) display the content in a subregion (after an offset) C) resize the content before displaying Before this patch, only features A and B were supported. This patch adds C, but breaks A, which current support relied on C not being implemented. I think C is more important than A, and A can be added later. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Retry allocations after freeing some spaceAxel Davy2020-05-156-8/+68
| | | | | | | | | Managed resources can be released whenever we need. When we have an allocation failure, free them and retry. Try also to flush the csmt queue in case there were some things released. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Increase available GPU memoryAxel Davy2020-05-151-6/+7
| | | | | | | | | | | | | | | | This patch caps to 4GB the limit of GPU memory accessible only for 32bits build. This would deserve some tests on windows, so we might change that behaviour in the future. For example, it's possible that GetAvailableTextureMem is capped to 4GB on 64bits build. We cap to a bit less than 4GB, which might help https://github.com/iXit/Mesa-3D/issues/323 In addition, increase from 80% to 95% the allocation limit above which we fail allocating. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Add missing NULL checksAxel Davy2020-05-151-3/+48
| | | | | | | | | | | | | Ideally apps shouldn't make buggy calls. Still if some do, let's avoid crashing. Without this patch, if some calls are invalid, for example if replaying a trace of a game needing a lot of VRAM on a card with not much VRAM, it can crash. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Fix a crash if the state is not initializedAxel Davy2020-05-153-0/+8
| | | | | | | | | | | | I don't remember exactly the conditions of the crash, but I had a trace which was crashing in the gallium driver before doing any rendering (something about viewports being not initialized). It's not the first time we hit such a problem, so rather than investigating that crash, I chose to just initialize every states at device creation. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Fix uninitialized variable in BEM()Axel Davy2020-05-151-1/+1
| | | | | | | tmp was not initialized. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Improve return error code in CheckDeviceFormatAxel Davy2020-05-151-1/+3
| | | | | | | This seems suspicious, but is better than what we currently do. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Pass more adapter formats for CheckDepthStencilMatchAxel Davy2020-05-151-1/+24
| | | | | | | | | | | | | It seems CheckDepthStencilMatch should accept A8R8G8B8 as adapter format. Given the lack of clarity of the doc relative to the difference between display format and adapter format (== display format modulo alpha bits), for now just accept display formats with and without alpha bits. Fixes: https://github.com/iXit/Mesa-3D/issues/317 Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Do not return invalidcall on getrenderstateAxel Davy2020-05-151-2/+6
| | | | | | | | To be fair I don't remember why I wrote this patch, but it seems reasonable. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Return error when setting invalid depth bufferAxel Davy2020-05-151-0/+3
| | | | | | | | Prevents a crash with the trace of https://github.com/iXit/wine-nine-standalone/issues/40 Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* st/nine: Add checks for pure deviceAxel Davy2020-05-152-1/+21
| | | | | | | Some Get* functions are forbidden for pure device. Signed-off-by: Axel Davy <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5015>
* zink: implement i2b1Erik Faye-Lund2020-05-151-0/+7
| | | | | | | | | | | This shuold really have been implemented before starting to use these, but I guess I missed them. Fixes a crash when starting a game in Warzone 2100. Fixes: 7f6a491eec0 ("zink: lower b2b to b2i") Reviewed-by: Daniel Stone <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5053>
* util/rand_xor: use getrandom() when availableEmmanuel Gil Peyrot2020-05-152-2/+12
| | | | | | | | | | | | | | This function has been added in glibc 2.25, and the related syscall in Linux 3.17, in order to avoid requiring the /dev/urandom to exist, and doing the open()/read()/close() dance on it. We pass GRND_NONBLOCK so that it doesn’t block if not enough entropy has been gathered to initialise the /dev/urandom source, and fallback to the next source in any error case. Signed-off-by: Emmanuel Gil Peyrot <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2026>
* zink: mark depth-component cube-maps as doneErik Faye-Lund2020-05-151-1/+1
| | | | | | | This worked fine all along, nothing to be done for this feature. The piglit tests mostly pass. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5044>
* nir: Use 8-bit types for most info fieldsJason Ekstrand2020-05-152-11/+11
| | | | | | | | | This shrinks nir_intrinsics.c.o from 73K to 35K and nir_opcodes.c.o from 64K to 31K on a release build. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5045>
* radv: Implement VK_EXT_custom_border_colorJoshua Ashton2020-05-155-2/+160
| | | | | | Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4877>
* radv: Provide a better error for permission issues with priorities.Bas Nieuwenhuizen2020-05-154-16/+29
| | | | | | Cc: <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4816>
* freedreno/uuid: Generate meaningful device and driver UUIDEduardo Lima Mitev2020-05-144-7/+58
| | | | | | | | | | | Device UUID becomes SHA1('freedreno' + gpu_id). Driver UUID becomes SHA1(mesa-version + git-head-sha1). v2: Don't use build_id for driver UUID since it generates different values for vulkan and gl shared objects. (Kristian) Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4847>
* freedreno: Centralize UUID generation into new files freedreno_uuid.c/hEduardo Lima Mitev2020-05-147-15/+119
| | | | | | | | | The new files are created under a 'common' folder under 'src/freedreno', where shared functionality between GL and Vulkan drivers (that is not registers, layout or compiler) will be placed. Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4847>
* aco: split operations that use a swap's definitionRhys Perry2020-05-142-7/+46
| | | | | | | | | | Instead of relying it's read being entirely within the swap's definition. No shader-db changes. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4950>
* tu: Advertise COLOR_ATTACHMENT_BLEND_BIT for blendable formatsConnor Abbott2020-05-142-0/+13
| | | | | | | | Whoops. After fixing dual-source blending, dEQP-VK.pipeline.blend.* all go from skipped to pass, and fixes a bunch of dEQP-VK.api.info.format_properties.* tests where blending is required. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039>
* tu: Implement dual-src blendingConnor Abbott2020-05-141-4/+50
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039>
* tu: Move RENDER_COMPONENTS setting to pipeline stateConnor Abbott2020-05-144-10/+8
| | | | | | | This needs to be pipeline state because it can change when dual-source blending is active. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039>
* ir3: Fixup dual-source blending slotConnor Abbott2020-05-141-0/+1
| | | | | | | | The hardware expects that where MRT0 and MRT1 would normally go are the dual sources for MRT0, whereas GLSL has an extra "index" parameter that indicates which source it is. Remap it when handling FS outputs. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039>
* freedreno/a6xx: Document dual-src blending enable bitsConnor Abbott2020-05-141-0/+4
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5039>
* Revert "nir/validate: validate the stride for deref_ptr_as_array"Karol Herbst2020-05-141-1/+0
| | | This reverts commit 667e14e7bd759a77e732c4de09fb978ee3816eaf
* docs: update calendar, add news item, and link releases notes for 20.0.7Dylan Baker2020-05-143-7/+4
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5041>
* docs/relnotes Add sha256 sums to 20.0.7Dylan Baker2020-05-141-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5041>
* docs: Add release notes for 20.0.7Dylan Baker2020-05-141-0/+160
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5041>
* intel: Silence unused parameter warning in __intel_log_use_argsIan Romanick2020-05-141-1/+1
| | | | | | | | | | | | ...in every file that includes intel_log.h. In file included from src/intel/vulkan/anv_private.h:93, from src/intel/vulkan/genX_cmd_buffer.c:27: src/intel/common/intel_log.h: In function ‘__intel_log_use_args’: src/intel/common/intel_log.h:75:34: warning: unused parameter ‘format’ [-Wunused-parameter] Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994>
* anv: Silence unused parameter warning in anv_image_get_clear_color_addrIan Romanick2020-05-141-1/+1
| | | | | | | | | | | ...in every file that includes anv_private.h. In file included from src/intel/vulkan/genX_cmd_buffer.c:27: src/intel/vulkan/anv_private.h: In function ‘anv_image_get_clear_color_addr’: src/intel/vulkan/anv_private.h:3690:57: warning: unused parameter ‘device’ [-Wunused-parameter] Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994>
* anv/tests: Silence unused parameter warnings in mainIan Romanick2020-05-146-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/intel/vulkan/tests/block_pool_no_free.c: In function ‘main’: src/intel/vulkan/tests/block_pool_no_free.c:147:14: warning: unused parameter ‘argc’ [-Wunused-parameter] src/intel/vulkan/tests/block_pool_no_free.c:147:27: warning: unused parameter ‘argv’ [-Wunused-parameter] src/intel/vulkan/tests/block_pool_grow_first.c: In function ‘main’: src/intel/vulkan/tests/block_pool_grow_first.c:27:14: warning: unused parameter ‘argc’ [-Wunused-parameter] src/intel/vulkan/tests/block_pool_grow_first.c:27:27: warning: unused parameter ‘argv’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool.c: In function ‘main’: src/intel/vulkan/tests/state_pool.c:36:14: warning: unused parameter ‘argc’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool.c:36:27: warning: unused parameter ‘argv’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool_padding.c: In function ‘main’: src/intel/vulkan/tests/state_pool_padding.c:27:14: warning: unused parameter ‘argc’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool_padding.c:27:27: warning: unused parameter ‘argv’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool_no_free.c: In function ‘main’: src/intel/vulkan/tests/state_pool_no_free.c:115:14: warning: unused parameter ‘argc’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool_no_free.c:115:27: warning: unused parameter ‘argv’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool_free_list_only.c: In function ‘main’: src/intel/vulkan/tests/state_pool_free_list_only.c:35:14: warning: unused parameter ‘argc’ [-Wunused-parameter] src/intel/vulkan/tests/state_pool_free_list_only.c:35:27: warning: unused parameter ‘argv’ [-Wunused-parameter] v2: Use 'int main(void)' instead. Suggested by Jason. Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994>
* anv/tests: Don't rely on assert or changing NDEBUG in testsIan Romanick2020-05-148-31/+59
| | | | | | | | | | This is the last part of the fix for #2903. v2: Add test_common.h. Fixes: f7c56475d25 ("anv/tests: compile to something sensible in release builds") Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4994>
* aco: fix WQM coalescingDaniel Schürmann2020-05-141-1/+3
| | | | | | | | get_reg_specified() doesn't handle special registers like SCC. Fixes: a5fc96b533418dc2d68f17f3f19ac5f82d59b978 ('aco: coalesce parallelcopies during register allocation') Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5036>
* anv: Fix descriptor set clean-up on BO allocation failureJason Ekstrand2020-05-141-1/+1
| | | | | | | | | | | | This was a bit of rebase fail when writing 682c81bdfb. We stopped freeing descriptor sets back to the pool and started calling vk_object_base_finish. This commit reverts a that hunk should have never made its way into the final patch. Fixes: 682c81bdfb "vulkan,anv: Add a base object struct type" Reviewed-by: Kenneth Graunke <[email protected]> Tested-by: Mark Janes <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5032>
* anv: Call vk_object_base_finish for image viewsJason Ekstrand2020-05-141-0/+1
| | | | | | Fixes: 682c81bdfb7 "vulkan,anv: Add a base object struct type" Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5032>
* zink: correct PIPE_SHADER_CAP_MAX_SHADER_IMAGESErik Faye-Lund2020-05-141-0/+4
| | | | | | We don't support shader-images yet, so this is premature to expose. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5024>
* zink: do not expose real value for PIPE_CAP_MAX_VIEWPORTSErik Faye-Lund2020-05-141-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5024>
* meta: Remove support for multisample blitsIan Romanick2020-05-142-407/+15
| | | | | | | | | | | | | | | Since i965 no longer uses this function for blitting color buffers, there is no driver left that will ever support multisample textures and use _mesa_meta_BlitFramebuffer. v2: Delete blit_state::msaa_shaders and enum blit_msaa_shader. text data bss dec hex filename 12243286 1344936 1290748 14878970 e308fa before/lib64/dri/i965_dri.so 12240398 1344936 1290748 14876082 e2fdb2 after/lib64/dri/i965_dri.so Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856>
* meta: Coalesce the GLSL and FF paths in meta_clearIan Romanick2020-05-141-14/+9
| | | | | | | | | text data bss dec hex filename 12243286 1344936 1290748 14878970 e308fa before/lib64/dri/i965_dri.so 12243286 1344936 1290748 14878970 e308fa after/lib64/dri/i965_dri.so Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/856>