Triang3l
ac268afbe9
[Vulkan] Fix 1<< uint32_t constants
2022-06-12 19:45:12 +03:00
Triang3l
140ed51e9a
[GPU] Fix missing xenia-ui dependency in gpu > gpu-shader-compiler (needed for gmake2)
2022-06-12 19:44:24 +03:00
Triang3l
17c835b245
Merge branch 'master' into vulkan
2022-06-12 18:51:08 +03:00
Triang3l
820b7ba217
[GPU] Fix GetActiveTextureHostSwizzle return type
2022-06-12 18:50:38 +03:00
Triang3l
1a22216e44
[SPIR-V] Texture fetch instructions
2022-06-09 21:42:16 +03:00
Triang3l
f875a8d887
Merge branch 'master' into vulkan
2022-06-09 21:35:12 +03:00
Triang3l
78d1eb8bf8
[GPU] TextureCache::GetActiveTextureHostSwizzle
2022-06-09 21:34:21 +03:00
Triang3l
56f72da137
[GPU] More exact PWL texture/RT gamma conversion
2022-06-07 21:26:34 +03:00
Gliniak
c7da7e1999
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-02 22:19:43 +02:00
Triang3l
a8cfe9bebb
[Vulkan] Unsubsample odd-sized 4:2:2 textures
2022-06-02 23:10:50 +03:00
Triang3l
1ce45ee150
Merge branch 'master' into vulkan
2022-06-02 22:50:14 +03:00
Triang3l
55a91afcc7
[D3D12] Don't decompress unaligned BC textures if supported
2022-06-02 22:48:03 +03:00
Triang3l
84fcd5defa
[GPU] Fix resolve destination offset and extent calculation
2022-06-02 21:47:30 +03:00
Triang3l
a9a072bf00
[GPU] Explain why a 32x32x4bpp linear texture takes 2 pages, not 1 [ci skip]
2022-06-01 13:00:23 +03:00
Triang3l
8bd244f277
[GPU] Better explanation for exact texture memory extent calculation [ci skip]
2022-06-01 12:55:16 +03:00
Gliniak
3169aa2ff3
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-06-01 08:45:21 +02:00
Triang3l
d1ad10b98c
[GPU] Primitive reset comment typo correction [ci skip]
2022-05-31 23:23:53 +03:00
Triang3l
efd7ef212a
[D3D12] 128 megatexel limit explanation based on the spec [ci skip]
2022-05-31 23:23:10 +03:00
Triang3l
25594c918c
[GPU] Fix tiled texture memory extent calculation
2022-05-31 23:17:33 +03:00
Gliniak
d7d26dc1c4
Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental
2022-05-25 07:54:16 +02:00
Triang3l
6c9a06b2da
[Vulkan] Texture loading
2022-05-24 22:42:22 +03:00
Triang3l
aac28f19d1
Merge branch 'master' into vulkan
2022-05-24 22:34:40 +03:00
Triang3l
a4840e1992
[GPU] FIXME comment for 1bpb/2bpb texture tiled extent
2022-05-24 22:33:27 +03:00
Triang3l
8701c9f24e
[D3D12] Texture load code cleanup and resolution scaling fixes
...
The resolution scale is now taken into account when copying from the mip tail.
2022-05-24 22:28:42 +03:00
Triang3l
75c185e759
[GPU] Move texture load shader info to common
2022-05-24 22:24:33 +03:00
Triang3l
f994d3ebb3
[Vulkan] Single block-compressed flag for host texture formats, not block sizes
2022-05-23 13:27:43 +03:00
Triang3l
f7b0edee6b
[Vulkan] GBGR/BGRG decompression
2022-05-23 13:18:47 +03:00
Triang3l
4c2f8764d6
Merge branch 'master' into vulkan
2022-05-23 12:36:35 +03:00
Triang3l
c1f15c86a3
[GPU] Decompress GBGR/BGRG into RGBB, not RGB1
...
While the alpha of the texture data is not used at all (replaced with blue using the view swizzle), still make the shader code state the intention more explicitly if the format is decompressed for use as signed. Unsigned 1.0 is 0xFF, while signed 1.0 is 0x7F.
2022-05-23 12:31:45 +03:00
Triang3l
cf3069eb13
[GPU] Signedness in Cr_Y1_Cb_Y0_REP/Y1_Cr_Y0_Cb_REP comment [ci skip]
2022-05-22 22:11:59 +03:00
Triang3l
ef808e9def
[GPU] _REP explanation in Cr_Y1_Cb_Y0_REP/Y1_Cr_Y0_Cb_REP comment [ci skip]
2022-05-22 21:46:11 +03:00
Triang3l
6735dbd941
[GPU] Calculate, not store, texture load host X blocks per thread
2022-05-22 21:21:54 +03:00
Triang3l
888d5044e0
[GPU] 2x1-subsampled texture RGBA8 conversion shader
2022-05-22 21:07:38 +03:00
Triang3l
d3561d2f47
[D3D12] Pre-swizzle 2x1-subsampled formats
2022-05-22 20:31:48 +03:00
Triang3l
5de825e3a0
[GPU] Prevent multiple evaluation of XE_TEXTURE_LOAD_TRANSFORM arguments
2022-05-22 19:48:23 +03:00
Triang3l
2f0a884438
[GPU] Add k prefix to texture load group size constants
2022-05-22 19:35:25 +03:00
Triang3l
8f06ba6f7d
[D3D12] Texture host BPB in LoadModeInfo
2022-05-22 19:28:05 +03:00
Triang3l
003c62ba73
[GPU] Correct rounding of texture load row size
...
The original multiplication was likely added early during the development of generic resolution scaling. Before generic resolution scaling, invocations were done for unscaled guest blocks, now they're done for scaled blocks, so with 3x1 scaling, an invocation for 8 blocks writes 8 host blocks, not 24.
2022-05-22 18:33:59 +03:00
Triang3l
6aa30ed074
[GPU] 128-thread groups in all texture load shaders
...
Vulkan's minimum requirement (maxComputeWorkGroupInvocations) is 128.
2022-05-22 18:03:09 +03:00
Triang3l
91c4e02e96
[Vulkan] Implement ClearCaches and don't do it for pipelines
2022-05-22 15:05:15 +03:00
Triang3l
35cfb07967
Merge branch 'master' into vulkan
2022-05-22 14:56:44 +03:00
Triang3l
88784101c8
[D3D12] Remove PipelineCache::ClearCache leftovers
2022-05-22 14:56:22 +03:00
Triang3l
68e7c56918
Merge branch 'master' into vulkan
2022-05-22 14:47:20 +03:00
Triang3l
d31ddd9b23
[GPU] Remove PipelineCache::ClearCache
2022-05-22 14:46:03 +03:00
Gliniak
620aa3562e
Set system page blocks to gpu-written every frame
2022-05-22 13:09:12 +02:00
Triang3l
08769de68b
[Vulkan] Texture object and view creation
2022-05-19 21:56:24 +03:00
Triang3l
c85c2f5b79
Merge branch 'master' into vulkan
2022-05-19 21:43:19 +03:00
Triang3l
1dcc919a33
[GPU] Move k_Y1_Cr_Y0_Cb_REP usage example to xenos.h
2022-05-19 21:41:52 +03:00
Triang3l
7d63d6e1d3
[D3D12] Fix 2:1-subsampled format swizzle
2022-05-19 21:40:03 +03:00
Triang3l
825a5b176c
[D3D12] Fix frontbuffer resource state
2022-05-19 21:39:11 +03:00
Gliniak
6c6c5ac14b
Merge remote-tracking branch 'GliniakRepo/experimentals' into canary_experimental
2022-05-19 10:51:44 +02:00
Margen67
64b336805e
Add vsync_interval option
2022-05-19 10:22:32 +02:00
Gliniak
5247220e73
Merge remote-tracking branch 'GliniakRepo/patchingSystem' into canary_pr
2022-05-19 10:01:33 +02:00
Triang3l
46202dd27a
[Vulkan] Basic texture descriptor set allocation/binding
2022-05-17 22:42:28 +03:00
Triang3l
3381d679b4
Merge branch 'master' into vulkan
2022-05-17 22:31:34 +03:00
Triang3l
7675b6b140
[DXBC] Cleanup texture/sampler name setting
2022-05-17 22:30:55 +03:00
Triang3l
533de3b477
[D3D12] Remove unnecessary binding count uint32_t casts
2022-05-17 21:33:17 +03:00
Triang3l
f9261811a9
[D3D12] Fix layouts_mutex_ lock naming
2022-05-15 18:52:28 +03:00
Triang3l
0db94a700f
[Vulkan] Use pipeline layout key structures directly
2022-05-15 17:42:27 +03:00
Triang3l
b80361ee3c
[Vulkan] Texture cache: Maximum dimensions, null images
2022-05-15 16:59:27 +03:00
Triang3l
185c23dd50
[Vulkan] Gather shader stages that VS can be translated into
2022-05-15 16:31:24 +03:00
Triang3l
7d19a8c0e8
[Vulkan] Add missing <functional> include for std::hash
2022-05-15 16:20:12 +03:00
Triang3l
862c457761
[Vulkan] Use Shader::IsHostVertexShaderTypeDomain
2022-05-15 16:19:36 +03:00
Triang3l
05adfbc58d
Merge branch 'master' into vulkan
2022-05-15 16:18:41 +03:00
Triang3l
a65fd4f673
[GPU] Shader::IsHostVertexShaderTypeDomain
2022-05-15 16:13:05 +03:00
Triang3l
f9b3b90a68
[D3D12] Subsystem management order cleanup
2022-05-14 22:30:06 +03:00
Triang3l
d6a9056952
[D3D12] D3D12Texture::SRVDescriptorKey structure
2022-05-14 18:41:15 +03:00
Triang3l
26cf717394
[GPU] Make TextureCache constructors explicit
2022-05-14 18:28:32 +03:00
Triang3l
775b4623dc
Merge branch 'master' into vulkan
2022-05-14 17:05:39 +03:00
Triang3l
d280b3953d
[GPU] Texture object/binding management to common superclass
2022-05-14 16:18:10 +03:00
Triang3l
af3158f1bf
[Legacy Vulkan] Add Vulkan prefix to Pipeline/TextureCache to avoid future name collisions
2022-05-11 21:21:33 +03:00
Triang3l
73d574a046
[Vulkan] Rectangle and quad list geometry shader generation
2022-05-10 21:48:18 +03:00
Triang3l
b9256fcdbd
Merge branch 'master' into vulkan
2022-05-10 15:57:50 +03:00
Triang3l
e6fb9883d2
[D3D12] Discard primitives with NaN position in GS
2022-05-09 22:34:17 +03:00
Triang3l
4cd4a91aa7
[D3D12] Rectangle GS comment typo fix [ci skip]
2022-05-09 19:17:55 +03:00
Triang3l
8f0e751909
[D3D12] Runtime geometry shader generation
2022-05-09 19:16:22 +03:00
Triang3l
44cda56d35
[GPU] Handle kRegisters and kGammaRamp in the trace viewer
2022-05-08 19:41:11 +03:00
Triang3l
2473496c7e
[GPU] Make RegisterFile::kRegisterCount constexpr
2022-05-08 19:37:29 +03:00
Triang3l
72cf75f365
[DXBC] Geometry shader instructions
2022-05-07 22:11:31 +03:00
Triang3l
e3425b242e
[DXBC] Both v[#] and v[#][#] operands for HS and GS
2022-05-07 16:17:17 +03:00
Triang3l
9c8e0cc53e
[GPU] DC_LUT_PWL_DATA comment fix [ci skip]
2022-05-05 13:13:30 +03:00
Triang3l
c794d0d538
[GPU] DC_LUT_RW_INDEX/WRITE_EN_MASK + gamma ramp and registers in traces
2022-05-05 13:10:29 +03:00
Triang3l
2d90d5940f
[DXBC] Jump to the loop skip address before pushing
2022-05-04 22:01:30 +03:00
Triang3l
0e0f04dc1d
[D3D12] Fix point size calculation + point code cleanup
...
6fcf9d21fe
made per-vertex diameter vs. constant radius consistent, and with that commit the shader works with direct pixel to NDC conversion, however, the NDC conversion factor was outdated in that commit (still included the 0.5 factor for diameter to radius conversion, resulting in all points being 50% narrower along each axis than needed). Now, the diameter to radius conversion factor is used there properly, and also the multiplication of the per-vertex diameter by 0.5 has been removed from the shader since the constant already includes it now (the constant diameter is passed via the system constants instead of the radius also).
2022-05-04 13:26:30 +03:00
Peter Wright
7ab5ccbbd9
Add #include <cfloat> to fix build error on Linux.
2022-05-03 19:45:10 +03:00
Triang3l
9e6f96a2fc
Merge branch 'master' into vulkan
2022-05-03 16:21:30 +03:00
Triang3l
6fcf9d21fe
[D3D12] Point sprite size fixes, point/line bits in PsParamGen
2022-05-03 16:15:16 +03:00
Triang3l
72a4d14056
Merge branch 'master' into vulkan
2022-05-03 00:13:31 +03:00
Triang3l
b88f715140
Merge branch 'master' into vulkan
2022-05-03 00:13:17 +03:00
Triang3l
7a89ad16a6
[D3D12] Update D3D12RenderTargetCache::Update write mask argument name
2022-05-02 23:16:18 +03:00
Triang3l
0fd578cafd
[GPU] Get unclipped draw height by running VS on the CPU
2022-04-28 22:25:25 +03:00
Triang3l
b2b1d7b518
[GPU] More accurate vertex kill + PsParamGen/point documentation
2022-04-27 23:10:56 +03:00
Triang3l
5ec0c92601
[GPU] Ignore z_enable for !z_write_enable && z_func == ALWAYS
2022-04-27 21:46:29 +03:00
Triang3l
5519dbb39f
[GPU] Shader control flow documentation improvements
2022-04-27 21:34:08 +03:00
Triang3l
b42680abf7
[GPU] Shader ALU refactoring + documentation
...
Mainly move instruction info from the ShaderTranslator to xe::gpu::ucode for future use in the CPU shader interpreter
2022-04-27 20:52:20 +03:00
Triang3l
df9a37f798
[GPU] Ucode disasm: Fix exec formatting
2022-04-26 23:08:31 +03:00
Triang3l
69958cba9d
[GPU] shader-compiler: Accept little-endian ucode
2022-04-26 22:59:02 +03:00
Gliniak
31eb639ade
Added Premake Files For PatchingSystem
2022-04-26 13:26:49 +02:00
Triang3l
ef8a60e011
[GPU] Round tessellation patch vertex count up (by @deaklajos #2007 )
...
Also move the clamping of the guest index count to the index buffer size to the place before it's read in calculations
2022-04-14 21:19:12 +03:00
Triang3l
38aca269e1
[GPU] Offset and clamp tessellation patch index ( #2008 , thanks @deaklajos)
2022-04-14 13:04:34 +03:00
Triang3l
fea430f1f9
[GPU] Fix scalar c[#+aL], shader docs/refactoring
2022-04-13 23:08:19 +03:00
Triang3l
1f324bebcd
[GPU] Norm16 > float16 texture load shaders
2022-04-09 23:34:50 +03:00
Triang3l
744767f549
[D3D12] Compile all built-in shaders with the same FXC version
2022-04-09 23:24:28 +03:00
Triang3l
72f3eead63
[GPU] Texture load shader style (alignment) cleanup
2022-04-09 23:23:54 +03:00
DESKTOP-F0UGBP9\deakl
8d02c5ab21
[GPU] Fixed size 0 point sprites enlarged to default
2022-04-05 02:25:24 +03:00
Triang3l
47799163bd
Merge branch 'master' into vulkan
2022-04-04 22:02:46 +03:00
Triang3l
3d48fde5ca
[GPU] XeSL texture load shaders + minor XeSL cleanup
2022-04-04 21:48:27 +03:00
Triang3l
0acb97d383
[Vulkan] EDRAM range ownership transfers, resolve clears, 2x-as-4x MSAA
...
Transfers are functional on a D3D12-like level, but need additional work so fallbacks are used when multisampled integer sampled images are not supported, and to eliminate transfers between render targets within Vulkan format compatibility classes by using different views directly.
2022-04-03 16:40:29 +03:00
Triang3l
85fc7036b8
Merge branch 'master' into vulkan
2022-04-02 22:45:23 +03:00
Triang3l
c4eae232f1
[D3D12] Fixes/cleanup for render targets and barriers
2022-04-02 22:44:10 +03:00
Triang3l
52d61fc94c
Merge branch 'master' into vulkan
2022-03-27 16:20:21 +03:00
Triang3l
3a07559df9
[GPU] XeSL host depth store and VS passthrough shaders
2022-03-27 16:15:53 +03:00
Triang3l
7048baaf21
Merge branch 'master' into vulkan
2022-03-22 21:54:34 +03:00
Triang3l
fa62d395fd
[Vulkan] InitializeSubresourceRange: Use return, not reference
2022-03-22 21:51:02 +03:00
Triang3l
32ab1a2df1
[D3D12] Minor RT code style/comments cleanup
2022-03-22 21:48:26 +03:00
Triang3l
ee8e71cea8
[D3D12] RT dump: Fix r# allocation
2022-03-22 21:41:44 +03:00
Triang3l
920704c71a
[D3D12] RT transfer: Same front/back stencil ops
2022-03-22 21:39:06 +03:00
Triang3l
1259c9f7a2
[Vulkan] Pipeline barrier merging
2022-03-21 23:02:51 +03:00
Triang3l
acc4fd6846
[Vulkan] Rectangle list geometry shader
2022-03-21 22:53:19 +03:00
Triang3l
c47b874a4d
Merge branch 'master' into vulkan
2022-03-21 20:57:02 +03:00
Joel Linn
986dcf4f65
[Base] Check success of sync primitive creation
...
- Mainly use `assert`s, since failure is very rare
- Forward failure of `CreateSemaphore` to guests because it is more easy
to trigger with invalid initial parameters.
2022-03-08 12:17:57 -06:00
Triang3l
b41fb851c6
[Vulkan] Unsupported pipeline features assertion typo fix
2022-02-15 23:05:47 +03:00
Triang3l
e13c4ae90b
Merge branch 'master' into vulkan
2022-02-15 23:02:43 +03:00
Triang3l
9e803ccf25
[D3D12] Pad kBlendOpMap with dummy values for all 3 bits
2022-02-15 23:02:26 +03:00
Triang3l
c75e0dd19e
[Vulkan] Blend and depth/stencil state, small pipeline cleanup
2022-02-15 23:00:21 +03:00
Triang3l
09f6081b16
[Vulkan] Fix shader bytecode path in premake5.lua
2022-02-13 23:29:46 +03:00
Triang3l
b8c9d5bb8c
Merge branch 'master' into vulkan
2022-02-13 23:25:39 +03:00
Triang3l
be5f7db3ef
[D3D12] Fixed-function state cleanup
2022-02-13 21:50:00 +03:00
Triang3l
325ae443da
[D3D12] Rename current_cached_pipeline_ to current_guest_pipeline_
2022-02-13 21:21:49 +03:00
Triang3l
10ec47e1fe
[GPU] Move common-face polygon offset to draw_util
2022-02-13 21:18:02 +03:00
Triang3l
8d07c79897
[GPU] Cleanup RB_COLOR_MASK and RB_DEPTHCONTROL normalization
2022-02-13 20:50:31 +03:00
Triang3l
0590346084
[Vulkan] Add Vulkan-Headers and VMA submodules
2022-02-13 20:08:08 +03:00
Triang3l
8ccb00d03d
[SPIR-V] Store vfetch_full address in a variable
2022-02-07 23:00:23 +03:00
Triang3l
e447cf6ed8
Merge branch 'master' into vulkan
2022-02-07 22:22:43 +03:00
Triang3l
4480437a3d
[SPIR-V] xb genspirv > buildshaders + opt + remap + .xesl
2022-02-05 17:07:07 +03:00
Triang3l
922efb13ce
Merge branch 'master' into vulkan
2022-02-03 21:12:10 +03:00
Radosław Gliński
e8374d98fe
Skip 0xbadf00d gpu packets
2022-01-31 20:27:13 +01:00
Gliniak
9ed3881b3b
Skip indirect ringbuffer errors - Thermonuclear war achieved
2022-01-31 20:15:47 +01:00
Gliniak
ec976cdd33
InitializeRingBuffer - Clear buffer space to prevent random data readout
2022-01-31 20:12:20 +01:00
Triang3l
50cf96ff36
[D3D12] Don't drain PSO preload creation queue if not queueing at all
2022-01-30 12:37:14 +03:00
Triang3l
22eb8747d3
[GPU/Kernel] Fix space-prefixed hexadecimal number printing
2022-01-29 14:02:55 +03:00
Triang3l
fe3f0f26e4
[UI] Image post-processing and full presentation/window rework
...
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
Triang3l
14b69fdb00
[GPU] vfetch_full fetching nothing still must calculate the address
2022-01-09 16:26:05 +03:00
Triang3l
d6188c5d7e
[GPU] Reuse base+index*stride in vfetch_mini instead of reloading the index GPR
...
The wheel shader in 4D530910 does vfetch_full to r0 with the index from r0.x, and then vfetch_mini.
Thanks @Gliniak for the finding :3
Also small formatting cleanup in commented-out code.
2022-01-09 14:58:38 +03:00
Joel Linn
4f258b2ee9
[GPU, Vulkan] Fix typo in non AMD64 code
...
* `copy_and_swap_16_unaligned` -> `copy_cmp_swap_16_unaligned`.
2022-01-02 16:47:05 -06:00
Wunkolo
1a8068b151
[Base] Add user-literals for several memory sizes
...
Rather than using `n * 1024 * 1024`, this adds a convenient `_MiB`/`_KiB` user-literal to the new `literals.h` header to concisely describe units of memory in a much more readable way. Any other useful literals can be added to this header. These literals exist in the `xe::literals` namespace so they are opt-in, similar to `std::chrono` literals, and require a `using namespace xe::literals` statement to utilize it within the current scope.
I've done a pass through the codebase to replace trivial instances of `1024 * 1024 * ...` expressions being used but avoided anything that added additional casting complexity from `size_t` to `uint32_t` and such to keep this commit concise.
2022-01-02 11:51:31 -06:00
Triang3l
39890bab6f
Merge branch 'master' into vulkan
2021-12-13 22:06:09 +03:00
Dr. Chat
509a1fa386
[GPU] Fix a crash when GetWindowTitleText is called before the texture cache is initialized
2021-12-12 22:51:24 -06:00
Triang3l
95c2101ca9
Merge branch 'master' into vulkan
2021-12-12 21:32:43 +03:00
Triang3l
e25167d2bc
[GPU] Fix quads>triangles cvar, primitive type test cases
2021-12-12 18:28:02 +03:00
Triang3l
9606ff2a31
[D3D12] Fix 8192 texture size storage
2021-12-12 16:27:49 +03:00
Triang3l
d813f7435b
[GPU] Revert 64bpp resolve addressing regression caused by a misunderstanding
2021-12-12 14:32:03 +03:00
Triang3l
793cebd6a7
[GPU] Explain 1.5x scaling issues in a comment
2021-12-12 14:31:05 +03:00
Triang3l
38b4741c8f
[GPU] Mostly generic, not square-only resolution scaling
2021-12-11 21:55:33 +03:00
Jack Harper
211cc99f42
Rename control_flow_analysis_pass.cpp to control_flow_analysis_pass.cc
...
All of the (non-third party) cpp impl files use the .cc extension, this one doesn't. I was digging through the code and found this one so thought I might as well rename it whilst I'm here!
2021-11-13 02:18:22 +03:00
Triang3l
fdec0ab332
[Code] Make union usage more consistent
2021-11-03 20:45:09 +03:00
Triang3l
ce68a09b0c
Merge branch 'master' into vulkan
2021-10-31 16:49:14 +03:00
Triang3l
28fec845d5
[GPU] Document memexport/resolve formats with more details
2021-10-22 20:00:41 +03:00
Joel Linn
cfd18b89f8
[GPU] GCC build fix for render target cache
2021-09-27 13:43:57 +03:00
Triang3l
cf85bf2efd
Merge branch 'master' into vulkan
2021-09-14 22:29:51 +03:00
Triang3l
b77e6eb8e6
[D3D12] Fix syntax warnings reported by Clang
2021-09-12 17:12:33 +03:00
Triang3l
4f95e094e4
[GPU] Remove outdated forward declarations from trace_dump.h
2021-09-12 14:32:41 +03:00
Triang3l
ecccd02f8a
Merge branch 'master' into vulkan
2021-09-12 14:10:36 +03:00
Triang3l
e720e0a540
[Code] Remove game names from code comments (most of at least)
2021-09-05 21:27:40 +03:00
Triang3l
6ce5330f5f
[UI] Loop thread to main thread WindowedAppContext
2021-08-28 19:38:24 +03:00
Triang3l
7edfdc2672
Merge branch 'master' into linux_windowing
2021-08-26 22:58:14 +03:00
Triang3l
6412bb8910
[Vulkan] Remove a remaining Volk reference
2021-07-12 00:00:06 +03:00
Triang3l
692e329e9c
[Vulkan] Load Vulkan manually for more lifetime and extension control
2021-07-11 22:56:01 +03:00
Triang3l
9bb104b354
Merge branch 'master' into vulkan
2021-07-03 20:59:25 +03:00
Triang3l
458e4e1a31
[GPU] Official RB name from RDNA/GCN/TeraScale/Xenos docs/news
2021-07-01 23:43:01 +03:00
Triang3l
1cf12ec70b
[UI/HID] ui::VirtualKey enum
2021-07-01 23:32:26 +03:00
gibbed
c6259241a2
[GPU] Complain when command packet is 0xCDCDCDCD.
2021-06-28 20:32:52 -05:00
Sandy Carter
005e0e21c1
[linux graphics] Remove GLEW
...
OpenGL is not used in the whole stack.
All references are removed.
2021-06-19 13:08:12 -04:00
Sandy Carter
0380067105
[linux vulkan] Remove linking directly with vulkan
...
Using volk means vulkan linking is done at runtime with the dl library.
2021-06-19 13:08:12 -04:00
Sandy Carter
271c91e115
[ui gtk] Fix init, resize and destroy
...
Prevent Vulkan Swap before display context is assigned.
Prevent resize while fullscreen (like in windows impl).
Use superclass Resize implementation to reduce code duplication.
Remove recursive call to GTKWindow::Close().
Destroy xcb window after superclass Close().
Set hwnd to null after closing on windows implementation.
2021-06-19 13:08:12 -04:00
Triang3l
270469d4d4
[Vulkan] Basic framebuffer output
2021-06-19 14:16:24 +03:00
Triang3l
2c3141fc87
Merge branch 'master' into vulkan
2021-06-19 14:07:09 +03:00
Triang3l
3a2c7894d2
[D3D12] Remove unused D3D12RenderTargetCache ref from D3D12RenderTarget
2021-06-19 14:06:37 +03:00
Triang3l
0ebb3bd90e
Merge branch 'master' into vulkan
2021-06-19 13:58:50 +03:00
Triang3l
4a95f72fba
[GPU] RT size function adjustments for Vulkan convenience
2021-06-19 13:57:14 +03:00
Triang3l
962f7daeb2
Merge branch 'master' into vulkan
2021-06-14 19:13:15 +03:00
Triang3l
8e83042bdf
[GPU] Fix host_depth_store_2xmsaa CS after 2x MSAA sample swap
2021-06-14 19:12:12 +03:00
Triang3l
e48a678ac7
[GPU] Undo depth_and_color_formats_out renaming
2021-06-14 19:00:57 +03:00
Triang3l
eb8bd732d3
Merge branch 'master' into vulkan
2021-06-14 17:31:55 +03:00
Triang3l
357aa1cdd3
[GPU] Fix RT view and pipeline sRGB mismatch
2021-06-14 17:30:56 +03:00
Triang3l
bee95d9e63
[Vulkan] Remove remaining IndexBufferInfo references
2021-06-09 21:10:27 +03:00
Triang3l
2800f6180a
[Vulkan] Primitive processor
2021-06-09 20:54:31 +03:00
Triang3l
90432cd004
Merge branch 'master' into vulkan
2021-06-09 20:47:13 +03:00
Triang3l
50bb35b4b4
[GPU] Polygon offset scale factor in xenos.h
2021-06-09 20:46:24 +03:00
Triang3l
9e6aec4535
[D3D12] Tiny IssueDraw initialization cleanup
2021-06-09 20:23:02 +03:00
Triang3l
d00dd5a2bc
[GPU] Disable primitive reset for non-list types in primitive processor
2021-06-09 20:22:24 +03:00
Triang3l
0612901e9a
Merge branch 'master' into vulkan
2021-06-08 21:28:53 +03:00
Triang3l
70a3919f9f
[D3D12] Primitive processor frame_index_buffers_.clear() in shutdown for safety
2021-06-08 21:28:30 +03:00
Triang3l
6cd9d42fd0
Merge branch 'master' into vulkan
2021-06-08 12:15:34 +03:00
Triang3l
796eb0f430
[D3D12] Update shader bytecode .h path in premake5.lua
2021-06-07 21:28:39 +03:00
Triang3l
89ddf6456a
[GPU] Disable 3D slice pitch assertion for non-3D textures
2021-06-07 16:40:45 +03:00
Triang3l
22ee200f3e
[GPU] Use polygon mode only for DualMode, not non-Disabled
2021-06-07 16:40:01 +03:00
Triang3l
3f156f26c4
[D3D12] Take 0 being bottom-right sample with 2x MSAA in D3D12 into account
2021-06-06 20:58:50 +03:00
Triang3l
c4a5048e62
[GPU] More specific note about slope-scaled depth bias
2021-06-06 18:33:06 +03:00
Triang3l
dce6938827
[D3D12] ROV sample depth via ddxy(z), DSV depth bias cleanup
2021-06-06 18:27:43 +03:00
Triang3l
12a907bfa5
[GPU] Shaders to common, xb buildshaders instead of buildhlsl
2021-06-05 18:53:53 +03:00
Triang3l
3c20a83972
[Base] Float clamping cleanup
2021-06-05 14:55:55 +03:00
Triang3l
538aa91015
[GPU] Primitive processor with Vulkan 1.0 base cases, 24-bit indices and clamping
2021-06-04 23:57:46 +03:00
Joel Linn
806a33d625
[GPU] Use `le<>` type for depth sample counts
2021-06-02 22:28:43 -05:00
Joel Linn
6dfa36d1b8
[GPU] Misc GCC build fixes
2021-06-02 22:28:43 -05:00
Joel Linn
a86d7173e1
Refactor FourCC magic uses
...
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00
Gliniak
1a2282894a
[GPU] Improve fake occlusion query compatibility
...
- Older D3D implementation used different flags
2021-05-17 19:27:23 +03:00
Triang3l
3a5752fcb6
[D3D12] Split the tessellation VS into indexed and adaptive
2021-05-16 18:27:41 +03:00
Triang3l
9f8a432479
[DXBC] Cleanup: kSysConst_*_Vec/Comp > LoadSystemConstant
2021-05-16 17:43:18 +03:00
Triang3l
f39020700a
[GPU] Cleanup: XEPACKED -> static_assert_size/alignas
2021-05-16 14:03:36 +03:00
Triang3l
dd5ea87213
[GPU] Linear mip tail exact extent estimation
2021-05-15 18:19:26 +03:00
Triang3l
4eca2326c3
[GPU/D3D12] Support texture pitch, more precise texture extent/stride calculations
2021-05-13 23:02:11 +03:00
Triang3l
8a70ae5389
[GPU] Fix RT EDRAM range clamping when using both 32bpp and 64bpp
2021-05-12 20:17:12 +03:00
Triang3l
8f1f849a06
[D3D12] unordered_map instead of multimap in TextureCache
2021-05-05 21:40:00 +03:00
Triang3l
40ca4abc0b
[GPU] Small ring buffer setup function cleanup
2021-05-04 23:13:55 +03:00
Triang3l
330beaf552
[GPU] Screen scissor alongside window scissor
2021-05-04 22:54:05 +03:00
Triang3l
fb01ccaac6
[GPU] Viewport/clipping cleanup, don't clamp oDepth
2021-05-04 21:39:34 +03:00
Joel Linn
48bd08a11b
[GPU] Fix shader compiler build on Linux
2021-05-03 22:50:44 -05:00
Triang3l
bb55bb3e70
[D3D12] Make ROV the default RT path on Intel due to stencil
2021-04-28 20:53:07 +03:00
Triang3l
71fbfdb63e
[D3D12] Fix non-ROV clearing always giving 'failed in backend'
2021-04-28 17:27:57 +03:00
Triang3l
51c2c9e5f2
[D3D12] Fix render target reference leak
2021-04-27 19:55:29 +03:00
Triang3l
ec41dfc995
[D3D12] Fix bindless root signatures, ensure shaders are pre-translated
2021-04-27 18:29:23 +03:00
Triang3l
913e1e949c
[GPU] Ownership-transfer-based RT cache, 3x3 resolution scaling
...
The ROV path is also disabled by default because of lower performance
2021-04-26 22:12:09 +03:00
Triang3l
99024aec32
[Vulkan] Fix primary_queue_mutex usage in vulkan_graphics_system.cc
2021-03-04 18:32:27 +03:00
Triang3l
5ae6c7eaf8
[Vulkan] Fix primary queue mutex locking in texture_cache.cc
2021-03-04 18:14:07 +03:00
Triang3l
87442b106c
[D3D12] Fix signed-only texture descriptor creation
2021-02-13 23:22:03 +03:00
Triang3l
9a74df491f
[DXBC] dxbc.h with non-translator-specific parts
2021-01-04 16:15:50 +03:00
Triang3l
e7cd2ffffa
[GPU] Clamp scissor to surface_pitch
2020-12-29 11:15:05 +03:00
Triang3l
56d802c323
[GPU] Slightly better shader_compiler_main variable name
2020-12-28 22:09:28 +03:00
Joel Linn
7943702618
Fix rvalue being passed as a reference.
2020-12-28 22:07:00 +03:00
Triang3l
9009cba90a
[GPU] Refactor shader dumps - bin and txt files for both ucode and host
2020-12-25 21:46:07 +03:00
Triang3l
2bc0113dae
[GPU] Add missing override specifier to SPIR-V shader translator
2020-12-25 21:11:43 +03:00
Triang3l
dcde08a493
[GPU] PS and rasterization disabling cleanup
2020-12-24 23:40:38 +03:00
Triang3l
733efa5ff8
[GPU] Add a missing default label to GatherAluResultInformation
2020-12-22 22:29:00 +03:00
Triang3l
c7fbe0e6d5
[GPU] Scale gradients by SSAA factor
2020-12-20 16:35:15 +03:00
Triang3l
e6fa0ad139
[GPU] Dynamic r# count via shader modifications + refactoring
2020-12-19 16:14:54 +03:00
Triang3l
4617dc5569
Merge branch 'master' into vulkan
2020-12-13 20:04:12 +03:00
Triang3l
b106aa88e6
[GPU] Complete some register bitfield declarations
2020-12-12 20:01:41 +03:00
Triang3l
da60649202
[D3D12] Fix texture_cache.cc formatting
2020-12-11 21:21:26 +03:00
Triang3l
040661f366
[D3D12] Fix a lint error in pipeline desc
2020-12-10 21:23:13 +03:00
Triang3l
34c5fc9c2f
[DXBC] ROV: Update a todo comment about early Z
2020-12-10 12:41:29 +03:00
Triang3l
8bcfcf6452
[GPU] Update v_mad_legacy_f32 comment
2020-12-10 12:39:02 +03:00
Triang3l
bc0c2040e2
[DXBC] ROV: Force late Z write with kill instructions
2020-12-10 12:36:37 +03:00
Triang3l
9349cf4ff4
[D3D12] Fix custom sample position reset
2020-12-08 22:43:15 +03:00
Triang3l
b7216f91f7
[D3D12] Re-add forgotten RenderTargetCache::EndFrame call
2020-12-08 22:36:47 +03:00
Triang3l
36a0bcec8b
[GPU] XXH3 hash instead of XXH64
2020-12-08 22:31:09 +03:00
Triang3l
9a4643d0f2
[GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir
2020-12-07 22:31:46 +03:00
Triang3l
cadc31c93f
[GPU] Fix uninitialized viewport_top when drawing without a viewport
2020-12-06 15:55:28 +03:00
Triang3l
ce51ee076d
Merge branch 'master' into vulkan
2020-11-26 23:07:12 +03:00
Triang3l
e3a82e1930
[D3D12] Remove leftovers of old resolve code
2020-11-26 23:06:46 +03:00
Triang3l
6288bced48
Merge branch 'master' into vulkan
2020-11-21 22:03:50 +03:00
Joel Linn
923678dad7
[GPU] Add performance counter registers.
...
v3: Document registers referenced by D3D in `gpu.md`.
2020-11-21 21:55:52 +03:00
Joel Linn
f6dc9ad517
[GPU] Skip viz-query geometry (if marked).
...
Document research about viz queries.
v2: Remove viz status unions and move comments to register definitions.
Add contributors to TODOs.
v3: Comment out unused variables.
Add TODO for correctly dropping draw calls with memexport.
Register comment formatting.
2020-11-21 21:55:52 +03:00
Triang3l
b06138b464
[GPU] Disable faceness for rectangles temporarily
2020-11-21 21:52:17 +03:00
Triang3l
6584a2421c
[Vulkan] Faceness-related rasterization state
2020-11-20 23:47:19 +03:00
Triang3l
8b4a52aeed
Merge branch 'master' into vulkan
2020-11-20 23:16:38 +03:00
Triang3l
00a7d1a067
[D3D12] Cleanup rasterizer state
2020-11-20 23:12:12 +03:00
Triang3l
4fab2cc4d3
Merge branch 'master' into vulkan
2020-11-19 23:56:08 +03:00
Triang3l
44a3f200c3
[GPU] Rename PrimitiveTwoFaced to PrimitivePolygonal, add rects to it and ignore fill modes for non-polygons
2020-11-19 23:55:49 +03:00
Triang3l
1e818dca4b
[Vulkan] Include Vulkan Android header and fix some warnings
2020-11-19 11:38:20 +03:00
Triang3l
a94301d967
[Vulkan] Viewport from draw_util and vtx_fmt
2020-11-18 12:48:12 +03:00
Triang3l
c0550bafe9
Merge branch 'master' into vulkan
2020-11-18 12:28:38 +03:00
Triang3l
99bb82fd1c
[GPU] Separate GetHostViewportInfo X and Y bounds
2020-11-18 12:27:36 +03:00
Triang3l
44e4849e1a
Merge branch 'master' into vulkan
2020-11-16 23:17:50 +03:00
Triang3l
10d7bcde93
[GPU] Viewport in draw_util with host API flexibility
2020-11-16 23:03:42 +03:00
Sandy Carter
382dd8860f
[threading] Change thread names to suit pthread
...
Shorten names to 16.
Rename Win32 to Windowing.
Shorten GraphicsSystem thread names due to 16 length limit of pthread.
Without this change, both show up as GraphicsSystem.
Remove redundant "Worker" and "Thread" from names.
Remove redundant thread handle from thread name.
2020-11-15 11:12:05 -06:00
Triang3l
c2e8d23139
[Vulkan] Scissor from draw_util
2020-11-15 17:26:41 +03:00
Triang3l
791326ff9b
Merge branch 'master' into vulkan
2020-11-15 16:34:53 +03:00
Triang3l
56a07c1773
[GPU] Scissor in draw_util
2020-11-15 16:34:23 +03:00
Triang3l
715d614f5e
[Vulkan] Float controls properties
2020-11-15 15:08:50 +03:00
Triang3l
8febf02a39
Merge branch 'master' into vulkan
2020-11-15 14:06:15 +03:00
Joel Linn
8b1ebe1130
Premake: Reorder links to speed up building.
...
- Re-enable LTO on clang.
- Set AR on travis so it builds with LTO.
2020-11-14 13:30:06 -06:00
Triang3l
fe9b5b4a8f
[D3D12] Cleanup: remove inline
2020-11-14 17:02:09 +03:00
Triang3l
6b988d43c7
[D3D12] Cleanup: pipeline state -> pipeline, other things
2020-11-14 16:43:18 +03:00
Triang3l
0ec215a8a0
Merge branch 'master' into vulkan
2020-11-14 14:17:54 +03:00
Triang3l
65c8d2b28e
[Vulkan] Basic draw call architecture + [D3D12] Some cleanup
2020-11-14 14:16:04 +03:00
Gliniak
87a3c5fac2
[GPU] Added Stub for Packet: PM4_WAIT_FOR_IDLE
2020-11-10 22:48:00 +03:00
Triang3l
93f6a00201
[Vulkan] Transient descriptor pool + other cleanup for future drawing
2020-11-07 23:18:28 +03:00
Triang3l
afe304b328
[Vulkan] Shared memory descriptor set
2020-11-07 20:43:45 +03:00
Triang3l
d7341f9873
[Vulkan] Internal descriptor set layouts
2020-11-07 14:03:31 +03:00
Triang3l
8ef538a68f
Merge branch 'master' into vulkan
2020-11-06 13:00:56 +03:00
Triang3l
6ac4d3e0c9
[DXBC] Fix texture binding reference use-after-grow
2020-11-06 13:00:22 +03:00
Triang3l
d926e37f95
[SPIR-V] vfetch: packed formats
2020-11-05 23:49:39 +03:00
Triang3l
45d3dc4806
[SPIR-V] vfetch: 16-bit float
2020-11-05 21:49:36 +03:00
Triang3l
a82b85a8ac
[SPIR-V] vfetch: 32_* and 32_*_FLOAT formats
2020-11-04 23:56:12 +03:00
Triang3l
533bdf2114
[SPIR-V] Shared memory SSBOs
2020-11-04 18:57:08 +03:00
Triang3l
8665fa7517
[SPIR-V] Vertex index writing to r0.x
2020-11-03 23:31:52 +03:00
Triang3l
6030a4cf72
[SPIR-V] Add missing EnsureBuildPointAvailable in ALU
2020-11-02 12:17:47 +03:00
Triang3l
de8b0a85ac
[SPIR-V] Remaining scalar ALU instructions
2020-11-01 22:30:05 +03:00
Triang3l
cb35aaf13b
[SPIR-V] Scalar kill instructions
2020-11-01 22:22:34 +03:00
Triang3l
7512560416
[SPIR-V] SALU address and predicate
2020-11-01 22:17:12 +03:00
Triang3l
0f6aff6f74
[SPIR-V] Unary math functions
2020-11-01 21:48:14 +03:00
Triang3l
d466ebbbe1
[SPIR-V] Scalar ALU comparison and simple unary
2020-11-01 21:12:09 +03:00
Triang3l
06b47d1df0
[SPIR-V] Scalar addition and multiplication
2020-11-01 20:42:59 +03:00
Triang3l
fd4ba5622a
[SPIR-V] Cube: multiply the major axis by 2
2020-11-01 15:56:51 +03:00
Triang3l
c173ecc4ef
[SPIR-V] Remaining VALU instructions
2020-11-01 15:45:26 +03:00
Triang3l
d9f57c1ad8
[SPIR-V] Max4
2020-11-01 13:12:31 +03:00
Triang3l
b32ca5fb4f
[SPIR-V] Cube vector instruction
2020-10-31 21:42:51 +03:00
Triang3l
0949fac826
[SPIR-V] Dot product
2020-10-31 20:15:01 +03:00
Triang3l
06502d80d9
[SPIR-V] Vector max/min, comparison, unary
2020-10-31 19:15:00 +03:00