mesa/src/amd
Joshua Ashton 58f25098a0 radv: Use TRUNC_COORD on samplers
The default behaviour (0) is: "round-nearest-even to n.6 and drop fraction when point sampling" whereas the Vulkan spec simply wants us to floor it (1) "truncate when point sampling".

See 15.6.1 in the Vulkan spec.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-normalized-operations

The Direct3D spec also mandates this (https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec.htm#7.18.7%20Point%20Sample%20Addressing)

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.

Fixes dEQP-VK.pipeline.sampler.exact_sampling.*

https://github.com/Joshua-Ashton/d9vk/issues/450
https://github.com/doitsujin/dxvk/issues/1433

CC: <mesa-stable@lists.freedesktop.org>

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3951>
2020-04-23 09:57:08 +00:00
..
addrlib amd/addrlib: Use enum instead of sparse chars to identify dimensions 2020-04-16 11:10:52 +00:00
common ac,radv: add ac_gpu_info::has_double_rate_fp16 2020-04-09 13:30:54 +02:00
compiler aco: coalesce v_mad's accumulator with definition's affinities 2020-04-22 18:23:23 +00:00
llvm radeonsi: skip vs output optimizations for some outputs 2020-04-20 08:45:16 +02:00
registers ac/registers: adjust some definitions for thread trace on GFX8 2020-03-06 08:00:39 +00:00
vulkan radv: Use TRUNC_COORD on samplers 2020-04-23 09:57:08 +00:00
Android.addrlib.mk android: amd/addrlib: add gfx10 support 2019-07-10 09:03:55 +02:00
Android.common.mk Android.mk: Tweak MESA_ENABLE_LLVM checks 2020-03-19 21:20:08 +00:00
Android.compiler.mk android: aco: fix PIPE_FORMAT related building errors 2020-03-04 22:25:36 +01:00
Android.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Makefile.sources aco: rename aco_lower_bool_phis() -> aco_lower_phis() 2020-04-10 07:19:27 +00:00
meson.build amd: Move all amd/common code that depends on LLVM to amd/llvm. 2019-10-08 00:44:08 +00:00