Fernando Sahmkow
69277de29d
Merge pull request #3592 from ReinUsesLisp/ipa
...
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
2020-04-05 19:29:40 -04:00
Fernando Sahmkow
1633fbf99a
Merge pull request #3589 from ReinUsesLisp/fix-clears
...
gl_rasterizer: Mark cleared textures as dirty
2020-04-05 19:29:26 -04:00
ReinUsesLisp
e1bd89e1c2
shader/memory: Silence no return value warning
...
Silences a warning about control paths not all returning a value.
2020-04-02 03:34:27 -03:00
Rodrigo Locatti
825a6e2615
Merge pull request #3552 from jroweboy/single-context
...
Refactor Context management (Fixes renderdoc on opengl issues)
2020-04-02 01:38:25 -03:00
ReinUsesLisp
2339fe199f
shader_decompiler: Remove FragCoord.w hack and change IPA implementation
...
Credits go to gdkchan and Ryujinx. The pull request used for this can
be found here: https://github.com/Ryujinx/Ryujinx/pull/1082
yuzu was already using the header for interpolation, but it was missing
the FragCoord.w multiplication described in the linked pull request.
This commit finally removes the FragCoord.w == 1.0f hack from the shader
decompiler.
While we are at it, this commit renames some enumerations to match
Nvidia's documentation (linked below) and fixes component declaration
order in the shader program header (z and w were swapped).
https://github.com/NVIDIA/open-gpu-doc/blob/master/Shader-Program-Header/Shader-Program-Header.html
2020-04-01 21:48:55 -03:00
Rodrigo Locatti
baf91c920c
Merge pull request #3591 from ReinUsesLisp/vk-wrapper-part2
...
renderer_vulkan/wrapper: Add a Vulkan wrapper (part 2 of 2)
2020-03-31 22:14:26 -03:00
ReinUsesLisp
f22f6b72c3
renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapper
2020-03-31 21:32:08 -03:00
ReinUsesLisp
27dd542c60
renderer_vulkan/wrapper: Add command buffer handle
2020-03-31 21:32:08 -03:00
ReinUsesLisp
5c90d060d8
renderer_vulkan/wrapper: Add physical device handle
2020-03-31 21:32:08 -03:00
ReinUsesLisp
0eb37de98f
renderer_vulkan/wrapper: Add device handle
2020-03-31 21:32:08 -03:00
ReinUsesLisp
11774308d3
renderer_vulkan/wrapper: Add swapchain handle
2020-03-31 21:32:07 -03:00
ReinUsesLisp
7fe52ef77f
renderer_vulkan/wrapper: Add fence handle
2020-03-31 21:32:07 -03:00
ReinUsesLisp
3a63ae0658
renderer_vulkan/wrapper: Add device memory handle
2020-03-31 21:32:07 -03:00
ReinUsesLisp
397f53dea1
renderer_vulkan/wrapper: Add pool handles
2020-03-31 21:32:07 -03:00
ReinUsesLisp
affee77b70
renderer_vulkan/wrapper: Add buffer and image handles
2020-03-31 21:32:07 -03:00
ReinUsesLisp
d85ca0ab33
renderer_vulkan/wrapper: Add queue handle
2020-03-31 21:32:07 -03:00
ReinUsesLisp
151ddcf419
renderer_vulkan/wrapper: Add instance handle
2020-03-31 21:32:07 -03:00
Fernando Sahmkow
b03c0536ce
Merge pull request #3561 from ReinUsesLisp/f2f-conversion
...
shader/conversion: Fix F2F rounding operations with different sizes
2020-03-31 14:45:02 -04:00
Fernando Sahmkow
5b95a01463
Merge pull request #3577 from ReinUsesLisp/lea
...
shader/lea: Fix LEA implementation
2020-03-31 14:36:07 -04:00
ReinUsesLisp
1c5e2b60a7
gl_rasterizer: Mark cleared textures as dirty
...
Fixes a potential edge case where cleared textures read from the CPU
were not flushed.
2020-03-31 05:51:56 -03:00
Rodrigo Locatti
c19425ed69
Merge pull request #3506 from namkazt/patch-9
...
shader_decode: Implement partial ATOM/ATOMS instr
2020-03-31 00:56:28 -03:00
Nguyen Dac Nam
238c35b2c9
clang-format
2020-03-31 08:08:06 +07:00
Nguyen Dac Nam
defb9642da
shader_decode: fix by suggestion
2020-03-31 08:02:44 +07:00
Rodrigo Locatti
69728e8ad5
Merge pull request #3566 from ReinUsesLisp/vk-wrapper-part1
...
renderer_vulkan/wrapper: Add a Vulkan wrapper (part 1 of 2)
2020-03-30 21:57:36 -03:00
bunnei
4c72190a06
Merge pull request #3560 from ReinUsesLisp/fix-stencil
...
gl_rasterizer: Synchronize stencil testing on clears
2020-03-30 17:03:07 -04:00
namkazy
cb0a4151f8
clang-format
2020-03-30 20:46:21 +07:00
namkazy
c2665ec9c2
gl_decompiler: min/max op not implement yet
2020-03-30 18:48:22 +07:00
namkazy
4f7bea403a
shader_decode: ATOM/ATOMS: add function to avoid code repetition
2020-03-30 18:47:50 +07:00
namkazy
c8f6d9effd
shader_decode: merge GlobalAtomicOp to AtomicOp
2020-03-30 18:47:00 +07:00
Nguyen Dac Nam
972485ff18
shader_decode: implement ATOM operation for S32 and U32
2020-03-30 17:44:48 +07:00
namkazy
93cac0d294
clang-format
2020-03-30 17:44:48 +07:00
Nguyen Dac Nam
3dc09a6250
shader_decode: implement ATOMS instr partial.
2020-03-30 17:44:46 +07:00
Nguyen Dac Nam
a2cc80b605
vk_decompiler: add atomic op and handler function.
2020-03-30 17:44:45 +07:00
Nguyen Dac Nam
552f0ff267
gl_decompiler: add atomic op
2020-03-30 17:44:45 +07:00
Nguyen Dac Nam
2c780db5b9
shader: node - update correct comment
2020-03-30 17:44:44 +07:00
Nguyen Dac Nam
c119473c40
shader_decode: add Atomic op for common usage
2020-03-30 17:44:44 +07:00
ReinUsesLisp
b6c9fba81c
renderer_vulkan/wrapper: Address feedback
2020-03-28 04:09:02 -03:00
ReinUsesLisp
5300a918c6
shader/lea: Simplify generated LEA code
2020-03-28 03:55:04 -03:00
ReinUsesLisp
523a709bf1
shader/lea: Fix op_a and op_b usages
...
They were swapped.
2020-03-27 18:37:20 -03:00
ReinUsesLisp
796b3319e6
shader/lea: Remove const and use move when possible
2020-03-27 18:36:38 -03:00
Fernando Sahmkow
7a2f60df26
Merge pull request #3565 from ReinUsesLisp/image-format
...
engines/const_buffer_engine_interface: Store image format and types
2020-03-27 14:08:54 -04:00
ReinUsesLisp
2694552b7f
renderer_vulkan/wrapper: Add owning handles
2020-03-27 03:21:04 -03:00
ReinUsesLisp
7413b30923
renderer_vulkan/wrapper: Add pool allocations owning templated class
2020-03-27 03:21:04 -03:00
ReinUsesLisp
d8d392b39a
renderer_vulkan/wrapper: Add owning handle templated class
2020-03-27 03:21:04 -03:00
ReinUsesLisp
60f351084a
renderer_vulkan/wrapper: Add destroy and free overload set
2020-03-27 03:21:04 -03:00
ReinUsesLisp
a9e4528d10
renderer_vulkan/wrapper: Add dispatch table and loaders
2020-03-27 03:21:04 -03:00
ReinUsesLisp
3f0b7673f0
renderer_vulkan/wrapper: Add exception class
2020-03-27 03:21:04 -03:00
ReinUsesLisp
f5cee0e885
renderer_vulkan/wrapper: Add ToString function for VkResult
2020-03-27 03:21:03 -03:00
ReinUsesLisp
92c8d783b3
renderer_vulkan/wrapper: Add Vulakn wrapper and a span helper
...
The intention behind a Vulkan wrapper is to drop Vulkan-Hpp.
The issues with Vulkan-Hpp are:
- Regular breaks of the API.
- Copy constructors that do the same as the aggregates (fixed recently)
- External dynamic dispatch that is hard to remove
- Alias KHR handles with non-KHR handles making it impossible to use
smart handles on Vulkan 1.0 instances with extensions that were included
on Vulkan 1.1.
- Dynamic dispatchers silently change size depending on preprocessor
definitions. Different files will have different dispatch definitions,
generating all kinds of hard to debug memory issues.
In other words, Vulkan-Hpp is not "production ready" for our needs and
this wrapper aims to replace it without losing RAII and exception
safety.
2020-03-27 03:13:18 -03:00
ReinUsesLisp
cedbe925cd
engines/const_buffer_engine_interface: Store image format type
...
This information is required to properly implement SULD.B. It might also
be handy for all image operations, since it would allow us to implement
them on devices that require the image format to be specified (on
desktop, this would be AMD on OpenGL and Intel on OpenGL and Vulkan).
2020-03-27 00:36:22 -03:00