Commit Graph

54 Commits (eac46ad7ceca5e35b396a8b80bfc38dc6ef1a4fe)

Author SHA1 Message Date
GPUCode eac46ad7ce video_core: Add BCn decoding support 2 years ago
Fernando Sahmkow 87a9be8dec GPU: implement missing ASTC 3 years ago
Fernando Sahmkow 7356ab1de6 GPU: Implement additional render target formats. 3 years ago
Fernando Sahmkow fd7afda1e8 VideoCore: Implement formats needed for N64 emulation. 3 years ago
Fernando Sahmkow 1a49991676 Texture Cache: Add ASTC 10x5 Format. 3 years ago
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
3 years ago
Morph aec129c1ab renderer_(gl/vk): Implement ASTC_10x6_UNORM
- Used by Monster Hunter Rise Update 10.0.2
3 years ago
Morph 370d3fa1e3 video_core/surface: Use u8 for PixelFormat block tables
Using this smaller type saves 33280 bytes in the compiled executable.
4 years ago
Fernando Sahmkow f783883bf8 video_core: implement formats for N64 emulation 4 years ago
bunnei ca12a77670 hle: nvflinger: Migrate android namespace -> Service::android. 4 years ago
bunnei d456b9d554 hle: nvflinger: Move PixelFormat to its own header. 4 years ago
Morph 2348eb41f3 video_core: Add S8_UINT stencil format 4 years ago
FernandoS27 826a350e2b Vulkan Rasterizer: Fix clears on integer textures. 4 years ago
ameerj 16017ac450 vk_texture_cache: Use nearest neighbor scaling when available 4 years ago
Fernando Sahmkow 0dd98842bf Reaper: Address Feedback. 4 years ago
ReinUsesLisp 9764c13d6d video_core: Rewrite the texture cache
The current texture cache has several points that hurt maintainability
and performance. It's easy to break unrelated parts of the cache
when doing minor changes. The cache can easily forget valuable
information about the cached textures by CPU writes or simply by its
normal usage.The current texture cache has several points that hurt
maintainability and performance. It's easy to break unrelated parts
of the cache when doing minor changes. The cache can easily forget
valuable information about the cached textures by CPU writes or simply
by its normal usage.

This commit aims to address those issues.
5 years ago
ReinUsesLisp fbc232426d video_core: Rearrange pixel format names
Normalizes pixel format names to match Vulkan names. Previous to this
commit pixel formats had no convention, leading to confusion and
potential bugs.
5 years ago
ReinUsesLisp eda37ff26b video_core: Fix DXT4 and RGB565 5 years ago
ReinUsesLisp 480850ffe7 video_core: Fix B5G6R5_UNORM render target format 5 years ago
ReinUsesLisp 1d20aac795 video_core: Implement RGBA32_SINT render target 5 years ago
ReinUsesLisp 9338599d72 video_core: Implement RGBA32_SINT render target 5 years ago
ReinUsesLisp 95c0f5afe5 video_core: Implement RGBA16_SINT render target 5 years ago
ReinUsesLisp 977d6c46f3 video_core: Implement RGBA8_SINT render target 5 years ago
ReinUsesLisp 50c6030a8d video_core: Implement RG32_SINT render target 5 years ago
ReinUsesLisp e849d68048 video_core: Implement RG8_SINT render target and fix RG8_UINT 5 years ago
ReinUsesLisp f29fede49c video_core: Implement R8_SINT render target 5 years ago
ReinUsesLisp fd33e996e0 video_core: Implement R8_SNORM render target 5 years ago
ReinUsesLisp 505c206eb8 video_core/surface: Remove explicit values on PixelFormat's definition 5 years ago
Morph 7909860d16 texture: Implement R8G8UI
- Used by The Walking Dead: The Final Season
6 years ago
ReinUsesLisp b6571ca9f0 video_core: Use native ASTC when available 6 years ago
ReinUsesLisp 4dcca90ef4 video_core: Implement RGBA16_SNORM
Implement RGBA16_SNORM with the current API. Nothing special here.
6 years ago
ReinUsesLisp 14c2a4a2ec texture: Implement R32I 6 years ago
ReinUsesLisp 80eacdf89b
texture_cache: Use a table instead of switch for texture formats
Use a large flat array to look up texture formats. This allows us to
properly implement formats with different component types. It should
also be faster.
6 years ago
ReinUsesLisp 48a1687f51
texture_cache: Drop abstracted ComponentType
Abstracted ComponentType was not being used in a meaningful way.
This commit drops its usage.

There is one place where it was being used to test compatibility between
two cached surfaces, but this one is implied in the pixel format.
Removing the component type test doesn't change the behaviour.
6 years ago
Fernando Sahmkow 3f9262195b Video_Core: Implement texture format E5B9G9R9_SHAREDEXP.
This commit implements the E5B9G9R9 Texture format into the general 
system and OpenGL backend.
6 years ago
Fernando Sahmkow f32a49d3d8 Surfaces: Implement R4G4B4A4U format. 6 years ago
Fernando Sahmkow b9ddb517b1 Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5 6 years ago
FearlessTobi 55d272efe6 video_core: Implement RGBX16F PixelFormat 6 years ago
ReinUsesLisp 99e23bd0fd video_core/surface: Add function to detect sRGB surfaces
This is required for proper conversion to RGBA8_UNORM or RGBA8_SRGB
surfaces when a backend can target both native and converted ASTC.
6 years ago
ReinUsesLisp f6f1a8f26a texture_cache: Style changes 6 years ago
ReinUsesLisp 75de730e28 video_core/surface: Address feedback 6 years ago
Fernando Sahmkow d1812316e1 texture_cache: Style and Corrections 6 years ago
ReinUsesLisp 07f7ce1da2 gl_rasterizer_cache: Use texture buffers to emulate texture buffers 6 years ago
Fernando Sahmkow 7731a0e2d1 texture_cache: General Fixes
Fixed ASTC mipmaps loading
Fixed alignment on openGL upload/download
Fixed Block Height Calculation
Removed unalign_height
6 years ago
ReinUsesLisp 2131f71573 surface_params: Optimize CreateForTexture
Instead of using Common::AlignUp, use Common::AlignBits to align the
texture compression factor.
6 years ago
ReinUsesLisp 13222f94c0 video_core: Remove unused Fill surface type 7 years ago
ReinUsesLisp f58a6152fc gl_shader_cache: Fix texture view for cubemaps as cubemap arrays
Cubemaps are considered layered and to create a texture view the texture
mustn't be a layered texture, resulting in cubemaps being bound as
cubemap arrays. To fix this issue this commit introduces an extra
surface parameter called "is_array" and uses this to query for texture
view creation.

Now that texture views for cubemaps are actually being created, this
also fixes the number of layers created for the texture view (since they
have to be 6 to create a texture view of cubemaps).
7 years ago
bunnei 2020ba06e1 gpu: Remove PixelFormat G8R8U and G8R8S, as they do not seem to exist.
- Fixes UI rendering issues in The Legend of Zelda: Breath of the Wild.
7 years ago
heapo 7853e6b5d4 Improve msvc codegen for hot-path array LUTs
In some constexpr functions, msvc is building the LUT at runtime
(pushing each element onto the stack) out of an abundance of caution. Moving the
arrays into be file-scoped constexpr's avoids this and turns the functions into
simple look-ups as intended.
7 years ago
greggameplayer c8b3f09876 Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB (#1666)
* Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB
( needed by Mario+Rabbids Kingdom Battle )

* Small placement correction
7 years ago