summaryrefslogtreecommitdiffstats
path: root/src/video_core/surface.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: Rewrite the texture cacheReinUsesLisp2020-12-301-1/+1
| | | | | | | | | | | | | | 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.
* video_core: Remove unnecessary enum class casting in logging messagesLioncash2020-12-071-6/+6
| | | | | | | fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more. Reduces the line noise a bit.
* video_core: Rearrange pixel format namesReinUsesLisp2020-07-131-114/+114
| | | | | | Normalizes pixel format names to match Vulkan names. Previous to this commit pixel formats had no convention, leading to confusion and potential bugs.
* video_core: Fix DXT4 and RGB565ReinUsesLisp2020-07-131-21/+0
|
* video_core: Fix B5G6R5_UNORM render target formatReinUsesLisp2020-07-131-1/+1
|
* video_core: Implement RGBA32_SINT render targetReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement RGBA32_SINT render targetReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement RGBA16_SINT render targetReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement RGBA8_SINT render targetReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement RG32_SINT render targetReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement RG8_SINT render target and fix RG8_UINTReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement R8_SINT render targetReinUsesLisp2020-07-131-0/+2
|
* video_core: Implement R8_SNORM render targetReinUsesLisp2020-07-131-0/+2
|
* video_core/surface: Reorder render target to pixel format switchReinUsesLisp2020-07-131-53/+51
|
* texture: Implement R8G8UIMorph2020-04-301-0/+2
| | | | - Used by The Walking Dead: The Final Season
* video_core: Implement RGBA16_SNORMReinUsesLisp2020-03-131-0/+2
| | | | Implement RGBA16_SNORM with the current API. Nothing special here.
* video_core/surface: Add R32_SINT render target formatReinUsesLisp2020-02-251-0/+2
|
* texture_cache: Use a table instead of switch for texture formatsReinUsesLisp2019-11-151-236/+0
| | | | | | 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.
* texture_cache: Drop abstracted ComponentTypeReinUsesLisp2019-11-141-85/+0
| | | | | | | | | 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.
* correct the implementation of RGBA16UIgreggameplayer2019-11-141-0/+2
|
* Video_Core: Implement texture format E5B9G9R9_SHAREDEXP.Fernando Sahmkow2019-10-271-0/+8
| | | | | This commit implements the E5B9G9R9 Texture format into the general system and OpenGL backend.
* Merge pull request #2966 from FernandoS27/astc-formatsRodrigo Locatti2019-10-181-0/+33
|\ | | | | Implement a series of ASTC formats and R4G4B4A4 format
| * Surfaces: Implement R4G4B4A4U format.Fernando Sahmkow2019-10-091-0/+8
| |
| * Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5Fernando Sahmkow2019-10-091-0/+25
| |
* | video_core/surface: Add missing break in PixelFormatFromTextureFormat()Lioncash2019-10-161-0/+1
|/ | | | Prevents fallthrough into the following case.
* video_core: Implement RGBX16F PixelFormatFearlessTobi2019-09-221-0/+3
|
* video_core/surface: Add function to detect sRGB surfacesReinUsesLisp2019-09-131-0/+20
| | | | | This is required for proper conversion to RGBA8_UNORM or RGBA8_SRGB surfaces when a backend can target both native and converted ASTC.
* renderer_opengl: Implement RGB565 framebuffer formatReinUsesLisp2019-08-211-2/+3
|
* surface: Correct format S8Z24Fernando Sahmkow2019-06-211-2/+2
|
* gl_rasterizer_cache: Use texture buffers to emulate texture buffersReinUsesLisp2019-06-211-1/+3
|
* maxwell_3d: Partially implement texture buffers as 1D texturesReinUsesLisp2019-06-211-0/+2
|
* video_core: Silent -Wswitch warningsReinUsesLisp2019-04-181-35/+51
|
* Implement Texture Format ZF32_X24S8.Fernando Sahmkow2019-04-091-0/+2
|
* video_core/surface: Remove obsolete TODO in PixelFormatFromRenderTargetFormat()Lioncash2019-03-051-2/+0
| | | | This isn't needed anymore, according to Hexagon
* Implement BGRA8 framebuffer formatgreggameplayer2019-02-091-0/+2
|
* gl_shader_cache: Fix texture view for cubemaps as cubemap arraysReinUsesLisp2019-01-301-0/+18
| | | | | | | | | | | | 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).
* gpu: Remove PixelFormat G8R8U and G8R8S, as they do not seem to exist.bunnei2018-12-281-2/+5
| | | | - Fixes UI rendering issues in The Legend of Zelda: Breath of the Wild.
* Fixed uninitialized memory due to missing returns in canaryDavid Marcec2018-12-191-0/+7
| | | | Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
* Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB (#1666)greggameplayer2018-11-131-0/+4
| | | | | | | * Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB ( needed by Mario+Rabbids Kingdom Battle ) * Small placement correction
* Merge pull request #1616 from FernandoS27/cube-arraybunnei2018-11-051-0/+3
|\ | | | | Implement Cube Arrays
| * Implement Cube ArraysFernandoS272018-11-011-0/+3
| |
* | Fix ASTC Decompressor to support depth parameterFernandoS272018-11-021-21/+5
|/
* video_core: Move surface declarations out of gl_rasterizer_cacheReinUsesLisp2018-10-301-0/+499