| Age | Commit message (Collapse) | Author |
|
decoders: Optimize memcpy for the other functions
|
|
vic: Specify sws_scale height stride.
|
|
|
|
texture_cache: Split out template definitions
|
|
Silences a sws_scale runtime warning about unaligned strides.
|
|
vp9: Ensure the first frame is complete
|
|
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
|
|
|
|
Respect Vulkan bufferImageGranularity
|
|
nvdec: Better logging for unimplemented codecs
|
|
|
|
|
|
astc_decoder: Various performance and memory optimizations
|
|
|
|
nvdec: Fix VP9 reference frame refreshes
|
|
With reference frames refreshes fix, we no longer need to buffer two frames in advance.
We can also remove other unused or otherwise unneeded variables.
|
|
This resolves the artifacting when decoding VP9 streams.
|
|
|
|
|
|
|
|
* nvdec: VA-API
* Verify formatting
* Forgot a semicolon for Windows
* Clarify comment about AV_PIX_FMT_NV12
* Fix assert log spam from missing negation
* vic: Remove forgotten debug code
* Address lioncash's review
* Mention VA-API is Intel/AMD
* Address v1993's review
* Hopefully fix CMakeLists style this time
* vic: Improve cache locality
* vic: Fix off-by-one error
* codec: Async
* codec: Forgot the GetValue()
* nvdec: Address ameerj's review
* codec: Fallback to CPU without VA-API support
* cmake: Address lat9nq's review
* cmake: Make VA-API optional
* vaapi: Multiple GPU
* Apply suggestions from code review
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
* nvdec: Address ameerj's review
* codec: Use anonymous instead of static
* nvdec: Remove enum and fix memory leak
* nvdec: Address ameerj's review
* codec: Remove preparation for threading
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
|
|
This makes UnswizzleTexture up to two times faster. It is the main bottleneck in NVDEC video decoding.
|
|
renderer_vulkan: Implement screenshots
|
|
vk_rasterizer: Flip viewport on Y_NEGATE
|
|
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
|
|
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
|
|
|
|
|
|
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation.
We can take advantage of its sorted property to optimize its usage in the shader.
Thanks to wwylele for the optimization idea.
|
|
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
|
|
renderer_vulkan: Add setting to log pipeline statistics
|
|
Matches OpenGL's behavior. I don't believe this register flips geometry,
but we have to try to match behavior on both backends.
|
|
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
|
|
|
|
|
|
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
|
|
Use VK_KHR_pipeline_executable_properties when enabled and available to
log statistics about the pipeline cache in a game.
For example, this is on Turing GPUs when generating a pipeline cache
from Super Smash Bros. Ultimate:
Average pipeline statistics
==========================================
Code size: 6433.167
Register count: 32.939
More advanced results could be presented, at the moment it's just an
average of all 3D and compute pipelines.
|
|
render_target: Add missing initializer for size extent
|
|
video_core/engine: Consistently initialize rasterizer pointers
|
|
video_core: Remove some unused variables
|
|
Everything else has a default constructor that does the straightforward
thing of initializing most members to a default value, except for the
size.
We explicitly initialize the size (and others, for consistency), to
prevent potential uninitialized reads from occurring. Particularly given
the largeish surface area that this struct is used in.
|
|
Ensures all of the engines have consistent and deterministic
initialization of the rasterizer pointers.
|
|
We should be using the passed in object type instead.
|
|
Given this is non-trivial, the constructor is required to execute, so
this removes a bit of redundant codegen.
|
|
|
|
Resolves two compiler warnings.
|
|
general: Rename "Frame Limit" references to "Speed Limit"
|
|
vk_stream_buffer: Remove unused stream buffer
|
|
Handle allocation failure in Staging buffer
|
|
|