Henrik Rydgård
44ece6dfa2
Determine the clip flags directly when culling, simplifying the code.
2026-05-30 19:07:59 +02:00
Henrik Rydgård
b1723086be
Plumb through depth information (although not yet always generated)
2026-05-30 19:07:58 +02:00
Henrik Rydgård
df6ed8cfc9
Do some cleanup of #includes in GPU
2024-12-18 13:57:26 +01:00
Henrik Rydgård
a2a089b8c1
Remove the member function NormalizeVertices
2024-12-17 19:15:03 +01:00
Henrik Rydgård
a07da939ef
Some NormalizeVertices interface cleanup
2024-12-17 19:13:38 +01:00
Henrik Rydgård
e74101a2fb
applySkinInDecode belongs in the VertexTypeID, not in the options.
2024-12-17 18:24:18 +01:00
Henrik Rydgård
11dbae3457
Remove the "DispatchFlush" mechanism, not convinced it's a win
2024-12-15 13:42:05 +01:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +03:00
Henrik Rydgård
078018a943
Move the clockwise calculation out of DrawEngineCommon
2023-10-10 13:16:34 +02:00
Henrik Rydgård
f16f879b41
Some renaming to follow the standard of appending _ to member vars
2023-05-23 18:00:50 +02:00
Henrik Rydgård
d51d1413a3
DrawEngineCommon: Rename decoded to decoded_
2023-05-23 16:46:43 +02:00
Henrik Rydgård
c476d986f7
Bump the index/vertex cpu-side buffer sizes a little. Replaces #17387
2023-05-03 00:24:43 +02:00
Герман Семенов
122b63b9a8
GPU: using if constexpr C++17 optimization
2023-04-02 16:36:37 +02:00
Unknown W. Brackets
66472c39ce
GPU: Use skinned position always in bounding check.
...
Meanwhile, move to a flag on decoder options instead of global check.
2022-11-06 08:23:31 -08:00
Unknown W. Brackets
a5d3af9cb0
GPU: Cleanup GetVertTypeID() usage.
2022-11-06 08:01:57 -08:00
Unknown W. Brackets
fc39f042ae
softgpu: Avoid unnecessary flushing for curves.
...
We don't need to flush all drawing between curves in softgpu, let them
queue up.
2022-09-22 00:08:38 -07:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
e82fd3bd33
GPU: Avoid spline crashes on bad data.
...
If we get 0 prims, we can generate confusing index bounds and go out of
bounds. Similarly, if we get a crazy number of control points and fail to
allocate, we can crash.
2022-01-01 16:40:59 -08:00
Henrik Rydgård
5dab9994b6
Bezier/Spline: Fix logical error (must flush buffered data before we modify submitType).
...
Should fix #14774
2021-09-07 23:52:06 +02:00
Henrik Rydgård
6b76bcf070
Add new texture filtering "Auto Max Quality" that tweaks texture filtering for best quality.
...
It does this by enforcing mipmapping and minification filters, and
always autogenerates mipmaps and enforces anisotropic filtering for all
modes (if that's separately enabled).
This looks nice and flicker free in most games without any additional
tweaking, including GTA and Burnout which have long been painfully
flickery in the distance due to undersampling.
Needs a bit more testing before merge, maybe.
Fixes #13888
2021-09-03 00:14:58 +02:00
Kingcom
5109fd7cdc
CMake: Correct build on Windows.
2021-02-15 06:09:12 -08:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Unknown W. Brackets
30ede8240c
GPU: Move hw transform decision to draw engine.
2020-04-04 11:14:32 -07:00
Unknown W. Brackets
cba6a63058
GPU: Generate normals for curves with lighting.
...
Improves #12354 . This needs to happen even if the vertex has no normals.
2019-09-28 15:08:37 -07:00
Henrik Rydgård
79d4b0f5a2
Check that allocations in SplineCommon succeed. Attempt at #11660 but not optimistic.
2019-01-06 13:51:17 +01:00
Unknown W. Brackets
8a7ec4fc19
GPU: Fix curve breakage due to cull flipping.
2018-12-16 13:00:36 -08:00
xebra
04708fe88a
[spline/bezier]Unify SubmitSpline/Bezier.
2018-11-13 18:22:34 +09:00
xebra
46d30d02cf
[spline/bezier]minor fix
2018-10-07 23:54:32 +09:00
xebra
eca9386c05
[spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer.
2018-10-07 23:54:31 +09:00
xebra
5f07213c25
[spline/bezier]minor fix
2018-10-07 23:54:30 +09:00
xebra
5f9022ae14
[spline/bezier]minor fix
2018-10-07 23:54:29 +09:00
xebra
ef53195ae8
[spline/bezier]Surround with namespace Spline.
2018-10-07 23:54:28 +09:00
xebra
10afcf2dbb
[spline/bezier]Improve basic spline/bezier structures.
2018-10-07 23:54:26 +09:00
xebra
41823f8780
[spline/bezier]Fix GLES texture resolution of HW tess to real 2D to avoid huge width in FF4CC mist dragon morphing.
2018-10-07 23:54:23 +09:00
xebra
89786b943d
[spline/bezier]Instanced rendering for B-Spline is very slow when using weak GPU, so disabled it and simplify the shaders.
...
Add changing the quality of HW tessellation.
2018-10-07 23:54:22 +09:00
xebra
d98fa06b5f
[spline/bezier]Fix to build for Android(clang).
2018-10-07 23:54:21 +09:00
xebra
019e276798
[spline/bezier]Modify ControlPoints and fix VertexPreview.
2018-10-07 23:54:20 +09:00
xebra
1c604d5b60
[spline/bezier]Put the control points stuffs all in one structure.
2018-10-07 23:54:19 +09:00
xebra
66833513c0
[spline/bezier]Modify the weights cache variables to a template variable.
2018-10-07 23:54:18 +09:00
xebra
c4a8d80b61
[spline/bezier]Put the output buffers all in one structure.
2018-10-07 23:54:17 +09:00
xebra
a241058d7b
[spline/bezier]Improve TemplateParameterDispatcher class macro to a real class.
2018-10-07 23:54:16 +09:00
xebra
98ddefbd5a
[spline/bezier]Extract an if-check in the hot loops to the template parameter.
2018-10-07 23:54:15 +09:00
xebra
3d07bca010
[spline/bezier]Fix spline weights calculation and get rid of using next patch position in hwtess.
...
# Conflicts:
# GPU/Directx9/VertexShaderGeneratorDX9.cpp
# GPU/GLES/VertexShaderGeneratorGLES.cpp
# GPU/Vulkan/VertexShaderGeneratorVulkan.cpp
2018-10-07 23:54:07 +09:00
xebra
a48a5b32f0
[spline/bezier]Unify hardware tessellation of bezier and spline.
2018-10-07 23:54:06 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
xebra
e5976f588b
[spline/bezier]Unify software tessellation of bezier and spline.
...
# Conflicts:
# GPU/Common/SplineCommon.cpp
2018-10-07 23:54:03 +09:00
xebra
7d45078202
[spline/bezier]minor cleanup
2018-10-07 23:54:00 +09:00
xebra
24123e6268
[spline/bezier]Fix about quality.
2018-10-07 23:53:59 +09:00
xebra
da1176f2b3
[spline/bezier]Improve template parameter dispatch method.
...
# Conflicts:
# GPU/Common/SplineCommon.h
2018-10-07 23:53:58 +09:00