| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Also swaps the byte order from RGBA->BGRA to match GL/D3D12, and what
the read handler is expecting.
Depth reads will now return the minimum depth of all samples, instead of
the average of all samples.
|
|
Using glMapBufferRange to read back the contents of the SSBO is extremely
slow on NVIDIA drivers. This is more noticeable at higher internal
resolutions. Using glGetBufferSubData instead does not seem to exhibit
this slowdown.
|
|
DriverDetails: Update Qualcomm new driver version.
|
|
|
|
|
|
|
|
This was never tested well:
HdkR> The tester was most likely trying to load a stale shader cache or something
|
|
|
|
This was occuring when the source texture was larger than the destination
texture, but the source rect was <= dest rect, so the copy is valid.
|
|
Sorts out references that cause some modules to be kept around after
backend shutdown.
Should also solve the issue with errors being thrown due to the config
being loaded after device creation, leading to the incorrect device being
used in a multi-adapter system.
|
|
|
|
|
|
|
|
We don't create a device below feature level 11_0 anyway, so no point
checking, we can just assume support.
|
|
Resources are already aligned to an address larger than any of our
requirements, anyway.
|
|
These were completely broken due to lack of c_str(). We also output
warnings now as well (these can be useful).
|
|
Moves render target restoring to RestoreAPIState, this also means no need
to manually restore after allocating in a buffer that caused execution,
because the manager restores it for us.
Remove a method that wasn't used from D3DUtil.cpp, and fixes a few errors
in EFB poke drawing.
|
|
|
|
|
|
|
|
Fixes black screen when crop is enabled.
|
|
This is not optimal, but for those texture packs with extremely large
images, it won't crash. Releasing after the frame completes is an option
too, however, there is the risk of running out of memory by doing this.
|
|
Implement Dithering for video software
|
|
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed.
We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
|
|
D3D11: Fix EFB MSAA depth buffer copies, StateManager desyncs in some cases
|
|
Fixes warning C4334
|
|
Updated D3D12 to build on the newer windows 10 sdk.
|
|
|
|
Fix D3D Forced Anisotropy
|
|
This showed up really high when I was profiling things.
|
|
This was occuring in certain EFB copy patterns, leaving the textures
unbound for the next draw call.
|
|
This also fixes EFB depth buffer copies when MSAA is enabled.
|
|
|
|
The D3D backend was always forcing Anisotropic filtering when that is enabled regardless of how the game chose to configure the texture filtering registers; this causes the same issues as "Force Filtering" without Anisotropy, such as causing game UI elements to no longer line up adjacent correctly. Historically, OpenGL's Anisotropy support has always worked "better" than D3D's due to seeming to not have this problem; unfortunately, OpenGL's Anisotropy specification only gives GL_LINEAR based filtering modes defined behavior, with only the mipmap setting being required to be considered. Some OpenGL implementations were implicitly disabling Anisotropy when the min/mag filters were set to GL_NEAREST, but this behavior is not required by the spec so cannot be relied on.
|
|
|
|
- remove an outdated comment about the efb to ram and scaled efb restriction
- when upscaling efb copies, mark the new texture as efb copy
- dx12 fixes for the src box, especially the number of layers for 3D
|
|
|
|
Just access the global state directly.
|
|
Just use the global state.
|
|
Fix some very minor spelling mistakes
|
|
Remove uninitialized non-static variable. Replace test to avoid unnecessary state changes with a simpler one.
|
|
D3D12: Multiple fixes (texture cache, fences, MSAA, CPU EFB access)
|
|
mimimi085181/partial-texture-updates-check-dimensions
Partial texture updates: Check the dimensions of the efb copy
|
|
|
|
Also prevents previously-released textures from ending up in a descriptor
table.
|
|
Readback heaps do not support persistent mapping. See D3D12 docs.
|
|
Simplfies making changes, as well as keeping the two in sync.
|