liamwhite
7f1c6def1f
Merge pull request #9216 from vonchenplus/reimp_inline_index_buffer
...
video_core: Reimplement inline index buffer binding
2022-11-20 12:08:08 -05:00
bunnei
4975f60162
Merge pull request #9252 from liamwhite/radv-superiority
...
maxwell3d: HLE multi-layer clear macro
2022-11-19 01:46:48 -08:00
Morph
e5a446a0df
Merge pull request #9229 from Docteh/achy_breaky_heart
...
Add break for default cases
2022-11-17 19:20:18 -05:00
Liam
4c42655a2d
maxwell3d: full HLE for multi-layer clears
2022-11-17 08:31:43 -05:00
cb971ad654
video_core: Reimplement inline index buffer binding
2022-11-15 12:10:44 +08:00
Kyle Kienapfel
6fa3faec65
Add break for default cases
...
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.
I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw
R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
bunnei
08091ff3e3
Merge pull request #9226 from Kelebek1/regs_regression
...
[video_core] Fix a couple regs regressions
2022-11-12 02:27:06 -08:00
liamwhite
c973029374
Merge pull request #9167 from vonchenplus/tess
...
video_core: Fix few issues in Tess stage
2022-11-11 08:03:40 -05:00
Kelebek1
33ea0fdfe8
Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation reg
2022-11-11 04:04:36 +00:00
Morph
c9bb888adf
ir/texture_pass: Use host_info instead of querying Settings::values ( #9176 )
2022-11-11 03:32:53 +01:00
a4472b5526
video_core: Fix few issues in Tess stage
2022-11-07 15:42:42 +08:00
75596c07e0
video_core: Fix SNORM texture buffer emulating error ( #9001 )
2022-11-04 02:39:42 -04:00
bunnei
38e4382f53
Merge pull request #8858 from vonchenplus/mipmap
...
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
liamwhite
fa913a702f
Merge pull request #9112 from vonchenplus/deferred_draw
...
video_core: Reimplementing the maxwell drawing trigger mechanism
2022-10-25 09:42:59 -04:00
bunnei
cbb6c24215
Merge pull request #8873 from vonchenplus/fix_legacy_location_error
...
video_core: Fix legacy to generic location unpaired
2022-10-24 10:50:24 -07:00
2f90694797
video_core: Implement maxwell inline_index method
2022-10-22 16:58:23 +08:00
1f54cd4ac7
video_coare: Reimplementing the maxwell drawing trigger mechanism
2022-10-21 17:09:22 +08:00
Morph
d3114c620d
renderer_(opengl/vulkan): Fix tessellation clockwise parameter
...
This should be assigned CW only on Triangles_CW rather than not Triangles_CCW, making CCW the default winding order rather than CW.
2022-10-13 15:52:56 -04:00
Kelebek1
4496030ea9
Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong.
2022-10-10 20:59:57 +01:00
Kelebek1
752659aef3
Update 3D regs
2022-10-07 14:13:45 +01:00
Liam
0d99b7962d
state_tracker: workaround channel setup for homebrew
2022-10-06 21:00:54 +02:00
Fernando Sahmkow
fd7afda1e8
VideoCore: Implement formats needed for N64 emulation.
2022-10-06 21:00:53 +02:00
bunnei
f5fd6b5c86
DMA & InlineToMemory Engines Rework.
2022-10-06 21:00:53 +02:00
Fernando Sahmkow
ba34cf0a69
Shader Decompiler: Check for shift when deriving composite samplers.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
5caa150e9a
OpenGL: Fix TickWork
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
bc8b3d225e
VideoCore: Refactor fencing system.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
920429fde7
NVDRV: Further refactors and eliminate old code.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
f350c3d74e
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
2022-10-06 21:00:52 +02:00
Fernando Sahmkow
3f8e7a5585
VideoCore: Fix channels with disk pipeline/shader cache.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
d7990c159e
OpenGl: Implement Channels.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
139ea93512
VideoCore: implement channels on gpu caches.
2022-10-06 21:00:51 +02:00
Fernando Sahmkow
1a49991676
Texture Cache: Add ASTC 10x5 Format.
2022-10-06 16:45:40 +02:00
Liam
35d3e7db2a
common: remove "yuzu:" prefix from thread names
2022-10-03 18:43:56 -04:00
d4cb0eac87
video_core: Fix legacy to generic location unpaired
2022-09-20 12:03:31 +08:00
9a95c7fa14
video_core: Generate mipmap texture by drawing
2022-09-20 11:55:43 +08:00
92b1f8d5da
Align index buffe size when vertex_buffer_unified_memory enable
2022-09-10 20:01:33 +08:00
Morph
7e379207ec
(shader/pipeline)_cache: Raise shader/pipeline cache version
...
Since the following commit: a83a5d2e4c
, many games will refuse to boot unless the shader/pipeline cache has been invalidated.
2022-08-31 08:39:37 -04:00
Fernando S
a83a5d2e4c
Merge pull request #8752 from vonchenplus/rectangle_texture
...
video_code: support rectangle texture
2022-08-31 10:40:45 +02:00
b2a6dde438
video_code: support rectangle texture
2022-08-25 12:45:58 +08:00
0a8c5c8622
video_core: support framebuffer crop rect top not zero
2022-08-20 21:41:40 +08:00
bunnei
5ae0e5ba67
Merge pull request #8678 from liamwhite/stop-waiting
...
video_core: stop waiting for shader compilation on user cancel
2022-07-31 14:47:43 -07:00
Liam
b9360681df
renderer_opengl: delete shader source after linking
2022-07-30 13:21:26 -04:00
Liam
fc013d88cb
video_core: stop waiting for shader compilation on user cancel
2022-07-29 23:33:40 -04:00
Andrea Pappacoda
cdb240f3d4
chore: make yuzu REUSE compliant
...
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.
Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.
The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.
Following REUSE has a few advantages over the current approach:
- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
`.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
files like binary assets / images is always accurate and up to date
To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.
[REUSE]: https://reuse.software
Follow-up to 01cf05bc75
2022-07-27 12:53:49 +02:00
Morph
aec129c1ab
renderer_(gl/vk): Implement ASTC_10x6_UNORM
...
- Used by Monster Hunter Rise Update 10.0.2
2022-07-05 20:33:43 -04:00
Liam
084d7d6b01
common: Change semantics of UNREACHABLE to unconditionally crash
2022-06-13 20:09:00 -04:00
Liam
b317f54f22
OpenGL: implement face flips according to NDC
2022-05-06 20:05:21 -04:00
Morph
99ceb03a1c
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Fernando Sahmkow
f783883bf8
video_core: implement formats for N64 emulation
2022-04-14 11:06:27 -04:00
bunnei
bf3c6f8812
Merge pull request #8149 from liamwhite/front-face
...
OpenGL: flip front faces if Z scale is inverted
2022-04-09 01:39:39 -07:00
Merry
bbc585881a
video_core: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Fernando S
4265372099
Merge pull request #8161 from liamwhite/gl-s8d24
...
OpenGL: fix S8D24 to ABGR8 conversions
2022-04-07 16:59:41 +02:00
Liam
52ebdd42c6
OpenGL: fix S8D24 to ABGR8 conversions
2022-04-06 19:44:33 -04:00
Liam
b7be6a4316
OpenGL: fix cropping
2022-04-04 12:51:09 -04:00
Liam
a57531854e
OpenGL: propagate face flip condition
2022-04-04 10:32:14 -04:00
Liam
cb913e5c02
OpenGL: flip front faces if Z scale is inverted
2022-04-04 10:19:40 -04:00
Fernando Sahmkow
e9e671d101
GPU Garbage Collection: Fix regressions.
2022-04-01 01:36:24 +02:00
ameerj
3e489782e1
gl_rasterizer: Avoid scenario locking already owned mutex
...
gpu.TickWork() may lock the texture_cache and buffer_cache mutexes, which are owned by the thread prior to invoking TickWork().
Defer invoking gpu.TickWork() until the scope ends, where the owned mutexes are released.
2022-03-28 20:35:15 -04:00
bunnei
af04f8b8e9
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory."
2022-03-26 12:38:30 -07:00
Fernando Sahmkow
7a9d9e575b
Texture Cache: Add Cached CPU system.
2022-03-25 04:24:05 +01:00
bunnei
ab6a5784fa
Merge pull request #7720 from FernandoS27/yfc-gc
...
First Nugget: Reworked Garbage Collection to be smarter [originally from Project YFC]
2022-03-24 20:16:11 -07:00
Fernando Sahmkow
9872d4bc4f
GC: Address Feedback.
2022-03-25 03:05:56 +01:00
bunnei
ca12a77670
hle: nvflinger: Migrate android namespace -> Service::android.
2022-03-24 18:13:33 -07:00
bunnei
d456b9d554
hle: nvflinger: Move PixelFormat to its own header.
2022-03-24 18:13:32 -07:00
Fernando Sahmkow
9edbbf2af4
Garbage Collection: Final tuning.
2022-03-25 01:51:52 +01:00
Fernando Sahmkow
5e982a7812
Buffer Cache: Tune to the levels of the new GC.
2022-03-25 01:51:51 +01:00
Fernando Sahmkow
ecb3342145
Garbage Collection: Redesign the algorithm to do a better use of memory.
2022-03-25 01:51:51 +01:00
ameerj
1bc7d61b57
video_core: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
d618bba8a6
general: Reduce core.h includes
2022-03-18 02:13:02 -04:00
Ameer J
370e480c8c
gl_graphics_pipeline: Improve shader builder synchronization using fences ( #7969 )
...
* gl_graphics_pipeline: Improve shader builder synchronization
Make use of GLsync objects to ensure better synchronization between shader builder threads and the main context
* gl_graphics_pipeline: Make built_fence access threadsafe
* gl_graphics_pipeline: Use GLsync objects only when building in parallel
* gl_graphics_pipeline: Replace GetSync calls with non-blocking waits
The spec states that a ClientWait on a Fence object ensures the changes propagate to the calling context
2022-03-06 16:46:49 +01:00
ameerj
7f7df43da2
gl_fence_manager: Minor optimization to signal querying
...
Per the spec, bufSize is the number of integers that will be written, in this case, 1.
Also, the length argument is optional if the information of the number of elements written is not needed.
2022-02-27 17:57:33 -05:00
Morph
e292b2d991
maxwell_to_(gl/vk): Add 11_11_10 float vertex format
...
- Used by パワプロクンポケットR
2022-02-25 17:11:17 -05:00
Lioncash
f785f73e92
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
Fernando Sahmkow
8a6e6465a7
Rasterizer: Refactor inlineToMemory.
2022-02-01 01:47:28 +01:00
Fernando Sahmkow
4258d515e6
Rasterizer: Implement Inline2Memory Acceleration.
2022-01-29 22:53:27 +01:00
Fernando Sahmkow
f58ee3f15f
ShaderDecompiler: Add a debug option to dump the game's shaders.
2022-01-04 02:39:00 +01:00
Fernando S
ae7da0b12d
Merge pull request #7629 from ameerj/nv-driver-fixes
...
shaders: Add fixes for NVIDIA drivers 495+
2022-01-03 00:39:59 +01:00
ameerj
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
ameerj
b84d429c2e
glsl_context_get_set: Add alternative cbuf type for broken drivers
...
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29 19:03:50 -05:00
ameerj
481b210c0d
vk_texture_cache: Fix invalidated pointer access
...
The vulkan ImageView held a reference to its source image for rescale status checking. This pointer is sometimes invalidated when the texture cache slot_images container is resized.
To avoid an invalid pointer dereference, the ImageView now holds a reference to the container itself.
2021-12-23 20:55:48 -05:00
Fernando S
648c7b4ed6
Merge pull request #7375 from vonchenplus/convert_legacy
...
Convert all legacy attributes to generic attributes
2021-12-22 17:36:05 +01:00
4908a07c20
Address format clang
2021-12-18 14:27:07 +08:00
e49184e606
Merge branch 'yuzu-emu:master' into convert_legacy
2021-12-18 13:57:14 +08:00
ameerj
c22c4f5d59
renderer_opengl: Minor refactoring of filter selection
2021-12-05 15:42:45 -05:00
ameerj
b8f3e5157b
blit_image: Refactor upscale factors usage
...
The image view itself can be queried to see if it is being rescaled or not, removing the need to pass the upscale/down shift factors from the texture cache.
2021-12-05 15:42:44 -05:00
bunnei
ea6fa044f3
Merge pull request #7368 from FernandoS27/vulkan-conv
...
Fix ART Blit detection regression and add D24S8 <-> RGBA8 conv to Vulkan
2021-11-20 16:51:13 -08:00
Fernando Sahmkow
da2fe81905
TextureCache: Refactor and fix linux compiling.
2021-11-20 14:46:19 +01:00
Fernando Sahmkow
0857f82913
TextureCache: Implement buffer copies on Vulkan.
2021-11-20 06:15:29 +01:00
bunnei
c3e1ffc44b
Merge pull request #7294 from vonchenplus/fix_image_update_error_when_width_too_small
...
Fix image update/download error when width too small
2021-11-19 15:56:27 -08:00
4dd85f86a8
Implement convert legacy to generic
2021-11-19 22:53:58 +08:00
bunnei
c45af76ea0
Merge pull request #7357 from Morph1984/s8_uint
...
video_core: Implement S8_UINT format
2021-11-19 01:16:49 -08:00
ameerj
f7e155d8b9
gl_texture_cache: Round format conversion PBO to next power of 2
2021-11-17 23:49:44 -05:00
Morph
6dd6dc046c
renderer_opengl: Implement S8_UINT stencil format
2021-11-17 15:05:07 -05:00
894cc9d876
Fix image update/download error when width too small
2021-11-17 12:21:17 +08:00
ameerj
20ed7ba441
texture_cache: Use pixel format conversion when supported by the runtime
2021-11-16 22:32:46 -05:00
ameerj
50c3d53076
gl_texture_cache: Make FormatConversionPass more generic
...
This allows the usage of the FormatConversionPass to be applied to more than the previously used BGR conversion scenarios.
2021-11-16 22:32:11 -05:00
ameerj
35ca6274f4
gl_texture_cache: Rename BGRCopyPass to FormatConversionPass
2021-11-16 22:31:58 -05:00
FernandoS27
1128cc35b9
TextureCache: OGL query device memory if possible.
2021-11-17 01:45:50 +01:00
Fernando Sahmkow
978f598ff6
TextureCache: Fix OGL cleaning
2021-11-17 00:59:46 +01:00
Fernando Sahmkow
282e04bffb
TextureCache: Add automatic anisotropic filtering and refactor code.
2021-11-16 23:14:51 +01:00