ReinUsesLisp
2ba5519371
settings: Add settings for graphics backend
2020-01-29 17:53:11 -03:00
ReinUsesLisp
1d17aca3f5
shader/other: Fix skips for SYNC and BRK
2020-01-29 17:53:11 -03:00
ReinUsesLisp
1c642262eb
shader/other: Stub S2R LaneId
2020-01-29 17:53:11 -03:00
ReinUsesLisp
25fcf5704b
buffer_cache: Delay buffer destructions
...
Delay buffer destruction some extra frames to avoid destroying buffers
that are still being used from older frames. This happens on Nvidia's
driver with mailbox.
2020-01-29 17:53:11 -03:00
bunnei
b5b061381e
Merge pull request #3355 from ReinUsesLisp/break-down
...
texture_cache/surface_base: Fix layered break down
2020-01-29 12:29:56 -05:00
bunnei
208594da5b
Merge pull request #3358 from ReinUsesLisp/implicit-texture-cache
...
gl_texture_cache: Silence implicit sign cast warnings
2020-01-29 11:23:50 -05:00
bunnei
c9cfbc502b
Merge pull request #3359 from ReinUsesLisp/assert-point-size
...
gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSize
2020-01-28 15:19:51 -05:00
ReinUsesLisp
1044f51a83
gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSize
...
This was implemented by a previous commit and it's no longer required.
2020-01-28 16:32:30 -03:00
ReinUsesLisp
68c9d670a1
gl_texture_cache: Silence implicit sign cast warnings
2020-01-27 20:59:11 -03:00
ReinUsesLisp
ca61e82f85
shader/bfi: Implement register-constant buffer variant
...
It's the same as the variant that was implemented, but it takes the
operands from another source.
2020-01-27 01:20:38 -03:00
ReinUsesLisp
098218ff4c
shader/arithmetic: Implement FCMP
...
Compares the third operand with zero, then selects between the first and
second.
2020-01-27 01:15:44 -03:00
ReinUsesLisp
b3e4461606
texture_cache/surface_base: Fix layered break down
...
Layered break downs was passing "layer" as a "depth" parameter. This
commit addresses that.
2020-01-26 21:48:07 -03:00
ReinUsesLisp
dbb7b51943
gl_texture_cache: Properly implement depth/stencil sampling
...
This addresses the long standing issue of compatibility vs. core
profiles on OpenGL, properly implementing depth vs. stencil sampling
depending on the texture swizzle.
2020-01-26 21:44:08 -03:00
ReinUsesLisp
0d8f0ad3b3
shader/memory: Implement ATOM.ADD
...
ATOM operates atomically on global memory. For now only add ATOM.ADD
since that's what was found in commercial games.
This asserts for ATOM.ADD.S32 (handling the others as unimplemented),
although ATOM.ADD.U32 shouldn't be any different.
This change forces us to change the default type on SPIR-V storage
buffers from float to uint. We could also alias the buffers, but it's
simpler for now to just use uint. While we are at it, abstract the code
to avoid repetition.
2020-01-26 01:54:24 -03:00
Fernando Sahmkow
2e6a1b965d
Shader_IR: Address feedback.
2020-01-25 09:04:59 -04:00
ReinUsesLisp
0340f04b84
shader/memory: Implement STL.S16 and STS.S16
2020-01-25 03:16:10 -03:00
ReinUsesLisp
edd5e604be
shader/memory: Implement unaligned LDL.S16 and LDS.S16
2020-01-25 03:16:10 -03:00
ReinUsesLisp
851d3adc24
shader/memory: Move unaligned load/store to functions
2020-01-25 03:16:10 -03:00
ReinUsesLisp
cff97272d2
shader/memory: Implement LDL.S16 and LDS.S16
2020-01-25 03:15:55 -03:00
bunnei
b6a1315c24
Merge pull request #3344 from ReinUsesLisp/vk-botw
...
vk_shader_decompiler: Disable default values on unwritten render targets
2020-01-24 17:31:55 -05:00
Fernando Sahmkow
26b5aa702d
Shader_IR: Change name of TrackSampler function so it does not confuse with the type.
2020-01-24 16:44:48 -04:00
Fernando Sahmkow
8c800cf312
Shader_IR: Corrections, styling and extras.
2020-01-24 16:44:48 -04:00
Fernando Sahmkow
a0cd5fb25f
Shader_IR: Correct Custom Variable assignment.
2020-01-24 16:44:47 -04:00
Fernando Sahmkow
b6d3153e7e
Shader_IR: Propagate bindless index into the GL compiler.
2020-01-24 16:44:47 -04:00
Fernando Sahmkow
c066e472b9
Shader_IR: Implement Injectable Custom Variables to the IR.
2020-01-24 16:43:31 -04:00
Fernando Sahmkow
6d6a963173
GL Backend: Introduce indexed samplers into the GL backend
2020-01-24 16:43:31 -04:00
Fernando Sahmkow
123c7cf307
Shader_IR: deduce size of indexed samplers
2020-01-24 16:43:31 -04:00
Fernando Sahmkow
2b9a30d06b
Shader_IR: Setup Indexed Samplers on the IR
2020-01-24 16:43:30 -04:00
Fernando Sahmkow
f93bff419e
Shader_IR: Implement initial code for tracking indexed samplers.
2020-01-24 16:43:30 -04:00
Fernando Sahmkow
c0c5fa078b
Shader_IR: Address Feedback
2020-01-24 16:43:30 -04:00
Fernando Sahmkow
5fb7881077
Shader_IR: Allow constant access of guest driver.
2020-01-24 16:43:30 -04:00
Fernando Sahmkow
c5fdcd7a2c
Shader_IR: Address Feedback
2020-01-24 16:43:29 -04:00
Fernando Sahmkow
87546c5c19
Guest_driver: Correct compiling errors in GCC.
2020-01-24 16:43:29 -04:00
Fernando Sahmkow
61d2053adb
Shader_IR: Store Bound buffer on Shader Usage
2020-01-24 16:43:29 -04:00
Fernando Sahmkow
e9f3264c8d
GPU: Implement guest driver profile and deduce texture handler sizes.
2020-01-24 16:43:29 -04:00
bunnei
0d6a9f7d6b
Merge pull request #3273 from FernandoS27/txd-array
...
Shader_IR: Implement TXD Array.
2020-01-24 14:02:40 -05:00
ReinUsesLisp
84532ba55a
vk_shader_decompiler: Disable default values on unwritten render targets
...
Some games like The Legend of Zelda: Breath of the Wild assign
render targets without writing them from the fragment shader. This
generates Vulkan validation errors, so silence these I previously
introduced a commit to set "vec4(0, 0, 0, 1)" for these attachments. The
problem is that this is not what games expect. This commit reverts that
change.
2020-01-24 01:16:21 -03:00
ReinUsesLisp
402f69fb3e
gl_shader_cache: Disable fastmath on Nvidia
2020-01-21 19:08:08 -03:00
Fernando Sahmkow
cb436f6f6f
Merge pull request #3330 from ReinUsesLisp/vk-blit-screen
...
vk_blit_screen: Initial implementation
2020-01-20 22:32:16 -04:00
ReinUsesLisp
aa09f9385c
vk_blit_screen: Address feedback
2020-01-20 18:43:11 -03:00
bunnei
38c28ce329
Merge pull request #3328 from ReinUsesLisp/vulkan-atoms
...
vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-V
2020-01-20 00:01:52 -05:00
bunnei
57816a5b55
Merge pull request #3322 from ReinUsesLisp/vk-front-face
...
vk_graphics_pipeline: Set front facing properly
2020-01-19 23:22:34 -05:00
ReinUsesLisp
fcc78abc3c
vk_blit_screen: Initial implementation
...
This abstraction takes care of presenting accelerated and
non-accelerated or "framebuffer" images to the Vulkan swapchain.
2020-01-19 21:12:43 -03:00
bunnei
f6aa2acacf
Merge pull request #3313 from ReinUsesLisp/vk-rasterizer
...
vk_rasterizer: Implement Vulkan's rasterizer
2020-01-19 18:09:01 -05:00
ReinUsesLisp
6b54252b77
vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-V
...
Also updates sirit to include atomic instructions.
2020-01-19 16:40:31 -03:00
Fernando Sahmkow
6b8406f575
Merge pull request #3317 from ReinUsesLisp/gl-decomp-cc-decomp
...
gl_shader_decompiler: Fix decompilation of condition codes
2020-01-18 19:56:55 -04:00
ReinUsesLisp
1538f99365
gl_state: Use bool instead of GLboolean
...
This fixes template resolution considering GLboolean an integer instead
of a bool.
2020-01-18 19:10:34 -03:00
ReinUsesLisp
4862fc4970
vk_graphics_pipeline: Set front facing properly
...
Front face was being forced to a certain value when cull face is
disabled. Set a default value on initialization and drop the forcefully
set front facing value with culling disabled.
2020-01-18 18:50:47 -03:00
bunnei
726029a9ae
Merge pull request #3305 from ReinUsesLisp/point-size-program
...
gl_state: Implement PROGRAM_POINT_SIZE
2020-01-18 01:56:32 -05:00
bunnei
d6eb2b1632
Merge pull request #3312 from ReinUsesLisp/atoms-u32
...
shader/memory: Implement ATOMS.ADD.U32
2020-01-18 00:54:07 -05:00