Brett Lawson
ce7782f04e
gx2: Fixed stream out incorrectly configuring context packet.
2018-10-26 04:54:47 -07:00
Brett Lawson
cf9bc874e0
opengl: Fixed force_sync mode running at INF FPS.
2018-10-26 04:54:46 -07:00
Brett Lawson
b878d1a3e3
gpu: Fixed compiler warning in pm4 processor.
2018-10-26 04:54:46 -07:00
Brett Lawson
6b60eb8e24
spirv: Fixed incorrect texture sampling argument validation.
2018-10-26 04:54:45 -07:00
Brett Lawson
6f8a2af994
vulkan: Implemented unified memory management system.
2018-10-26 04:54:45 -07:00
James Benton
ea20f3fe44
Oops! Add missing files from previous commit.
2018-10-19 11:52:35 +01:00
James Benton
9fb2911877
cafe/gx2: Implement GX2DrawStreamOut.
2018-10-19 11:43:24 +01:00
James Benton
de8fad6812
cafe/hle: Add support for calling constructors of registered data symbols.
2018-10-19 11:43:24 +01:00
Brett Lawson
04564c30ff
vulkan: Fixed some slight formatting errors.
2018-10-18 02:44:35 -07:00
Brett Lawson
eb6c779bf7
vulkan: Update lastHashedIndex if hashing matches on data buffers.
2018-10-18 02:44:34 -07:00
Brett Lawson
cc34cc2db0
vulkan: Fix surfaces being rehashed more than needed.
2018-10-18 02:44:34 -07:00
Brett Lawson
d0600bb3a6
spirv: Implemented GET_TEXTURE_INFO instruction.
2018-10-18 02:44:34 -07:00
Brett Lawson
3b4c275502
spirv: Fixed some compiler warnings.
2018-10-18 02:44:34 -07:00
Brett Lawson
6e28e32ca0
spirv: Corrected issue with addressing register behaviour.
2018-10-18 02:44:34 -07:00
Brett Lawson
b8cb4d1e16
spirv: Implemented MULLO instructions.
2018-10-18 02:44:34 -07:00
James Benton
2f729064b9
cafe/gx2: Fix GX2InitSampler.
2018-10-18 09:47:26 +01:00
James Benton
668761e27f
Fix pm4 type0 register id.
2018-10-18 09:16:35 +01:00
James Benton
7918bfe4ac
Move cafe::nn::Result to nn::Result.
2018-10-18 09:16:35 +01:00
James Benton
dc1714cefb
pm4-replay: Increase ringbuffer size.
2018-10-18 09:16:35 +01:00
Brett Lawson
bbefc6cfd8
spirv: Implemented missing FLOOR instruction.
2018-10-17 10:39:15 -07:00
Brett Lawson
a4c4d7ee8f
vulkan: Handle partially premultiplied targets.
...
latte supports having premultiplied alpha specified on a
per-target basis, but Vulkan does it globally. We have to
fix this in the shader by premultiplying the shader outputs
of non-premultiplied targets if premultiplied alpha is
enabled globally.
2018-10-17 10:31:57 -07:00
Brett Lawson
99e2036195
vulkan: Use config to enable/disable vulkan debug features.
2018-10-17 09:52:39 -07:00
Brett Lawson
499b5cde4d
vulkan: Added assertions for use of unsupported PM4 commands.
2018-10-17 09:40:13 -07:00
Brett Lawson
c350161ab4
vulkan: Cleaned up sampler generation code.
2018-10-17 09:38:37 -07:00
Brett Lawson
1e2fd63b78
vulkan: Elide illegal draw commands.
...
This will ignore illegal draw commands, such as commands that
use attribute buffers that are not bound or use textures which
are not bound.
2018-10-17 09:36:24 -07:00
Brett Lawson
67330b04ae
spirv: Correctly incorrect unsigned norm decoding.
...
We were incorrectly dividing by the fieldMask/2 instead of just
the fieldMask itself (copy paste fail from signed handling).
2018-10-17 03:08:41 -07:00
Brett Lawson
5abd5f5d20
spirv: Fixed attribute buffer elements not being decoded.
...
We were incorrectly using the input element count to process the
output elements. If there was a miss-match, some elements were not
decoded.
2018-10-17 03:08:00 -07:00
Brett Lawson
0bc8209980
spirv: Fixed issue where input buffers W value defaulted to 0.
...
Register loading from input buffers is supposed to fill components
not specified in the attribute buffer as 0001, we were filling it
with 0000.
2018-10-17 02:48:21 -07:00
Brett Lawson
0e65717eb9
spirv: Fix BitfieldExtract being passed the wrong parameter types.
2018-10-17 02:35:32 -07:00
Brett Lawson
ca14222873
vulkan: Fixed issue with default color write masking.
2018-10-17 02:35:32 -07:00
Brett Lawson
2bf0291f4b
vulkan: Added support for stencil buffers.
2018-10-17 02:35:31 -07:00
Brett Lawson
2faf541245
spirv: Handle stack indexes being handled incorrectly.
2018-10-17 02:35:31 -07:00
Brett Lawson
493d1b4918
vulkan: Improved surface handling substantially.
2018-10-17 01:18:58 -07:00
Brett Lawson
bd50928584
spirv: Fixed issue with uint4 shader outputs.
2018-10-17 01:18:58 -07:00
Brett Lawson
57a974aef0
vulkan: Correctly include disabled attachments in renderpasses.
...
It is important for shader compilation that attachements which are
disabled are still included in the renderpass. They simply should
be marked as unattached.
2018-10-17 01:18:58 -07:00
Brett Lawson
4a716e1e00
gpu: Use SQ_TILE_TYPE instead of isDepthBuffer.
2018-10-17 01:18:58 -07:00
Brett Lawson
0d1013aa87
vulkan: Improved logging and reporting behaviours.
2018-10-17 01:18:57 -07:00
Brett Lawson
8aeea24d1b
common: Added some platform-specific debugging functions.
2018-10-17 01:18:57 -07:00
Brett Lawson
3445ae68a2
vulkan: Fix sampler depth compares being enabled in error.
2018-10-17 01:18:57 -07:00
Brett Lawson
a03bc256a4
vulkan: Update compare texture reads to put 0 in W.
2018-10-17 01:18:57 -07:00
Brett Lawson
f509381cdd
vulkan: Improved framebuffer attachment determination.
...
We previously did a poor job deciding whether or not a
particular framebuffer needed an attachment at a
particular location.
2018-10-17 01:18:57 -07:00
Brett Lawson
1c0787eb21
vulkan: Added support for surface copying.
2018-10-17 01:18:57 -07:00
Brett Lawson
d203a7cc83
vulkan: Added support for FETCH4 texture gathering.
2018-10-17 01:18:57 -07:00
Brett Lawson
6fc6585647
vulkan: Added support for integer-based framebuffers.
...
In order to write to an integer-based framebuffer, we must
actually have uint4 writes in the shader. To do this, we
have to track what kind of buffer is bound, and pass this
through to the shader generator so it can generate the
appropriate writes.
2018-10-17 01:18:56 -07:00
Brett Lawson
dd8a30a0d1
vulkan: Fixed bug with type checking.
...
We have to be careful not to accidentally create dependencies
on types that we are not using, but in this case we are not
ever using the types (so they are still 0), but the system
itself gives them back, making the comparisons fail.
2018-10-17 01:18:56 -07:00
Brett Lawson
18028f1717
vulkan: Use framebuffer to decide renderArea instead of scissor.
2018-10-17 01:18:56 -07:00
Brett Lawson
8536638709
vulkan: Added renderPass to pipeline description.
...
This is required as the pipeline depends on data from
the renderpass and previously would sometimes crash due
to a missmatch at draw time.
2018-10-17 01:18:56 -07:00
Brett Lawson
6cbe5cf8ad
vulkan: Fixed issue where some depth formats were depth capable.
2018-10-17 01:18:56 -07:00
Brett Lawson
ee8294325c
vulkan: Changed shader dump code address to be hex.
2018-10-17 01:18:56 -07:00
Brett Lawson
a606086bb1
vulkan: Fixed an uninitialized variable.
2018-10-17 01:18:56 -07:00