From 735f817b0be7b814acf572dbee2eb34f2d72d375 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Sat, 13 Jan 2024 10:21:50 -0800 Subject: [PATCH] more texture format coverage in renderer/view-rules --- src/render/d3d11/render_d3d11.cpp | 12 +++++++++--- src/render/generated/render.meta.h | 18 ++++++++++++++++++ src/render/render_core.mdesk | 6 ++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/render/d3d11/render_d3d11.cpp b/src/render/d3d11/render_d3d11.cpp index e46e3804..0fb5dfa3 100644 --- a/src/render/d3d11/render_d3d11.cpp +++ b/src/render/d3d11/render_d3d11.cpp @@ -550,9 +550,15 @@ r_tex2d_alloc(R_Tex2DKind kind, Vec2S32 size, R_Tex2DFormat format, void *data) switch(format) { default:{}break; - case R_Tex2DFormat_R8:{dxgi_format = DXGI_FORMAT_R8_UNORM;}break; - case R_Tex2DFormat_RGBA8:{}break; - case R_Tex2DFormat_BGRA8:{dxgi_format = DXGI_FORMAT_B8G8R8A8_UNORM;}break; + case R_Tex2DFormat_R8: {dxgi_format = DXGI_FORMAT_R8_UNORM;}break; + case R_Tex2DFormat_RG8: {dxgi_format = DXGI_FORMAT_R8G8_UNORM;}break; + case R_Tex2DFormat_RGBA8: {dxgi_format = DXGI_FORMAT_R8G8B8A8_UNORM;}break; + case R_Tex2DFormat_BGRA8: {dxgi_format = DXGI_FORMAT_B8G8R8A8_UNORM;}break; + case R_Tex2DFormat_R16: {dxgi_format = DXGI_FORMAT_R16_UNORM;}break; + case R_Tex2DFormat_RGBA16:{dxgi_format = DXGI_FORMAT_R16G16B16A16_UNORM;}break; + case R_Tex2DFormat_R32: {dxgi_format = DXGI_FORMAT_R32_FLOAT;}break; + case R_Tex2DFormat_RG32: {dxgi_format = DXGI_FORMAT_R32G32_FLOAT;}break; + case R_Tex2DFormat_RGBA32:{dxgi_format = DXGI_FORMAT_R32G32B32A32_FLOAT;}break; } } diff --git a/src/render/generated/render.meta.h b/src/render/generated/render.meta.h index 350e44a0..e2702d56 100644 --- a/src/render/generated/render.meta.h +++ b/src/render/generated/render.meta.h @@ -9,8 +9,14 @@ typedef enum R_Tex2DFormat { R_Tex2DFormat_R8, +R_Tex2DFormat_RG8, R_Tex2DFormat_RGBA8, R_Tex2DFormat_BGRA8, +R_Tex2DFormat_R16, +R_Tex2DFormat_RGBA16, +R_Tex2DFormat_R32, +R_Tex2DFormat_RG32, +R_Tex2DFormat_RGBA32, R_Tex2DFormat_COUNT } R_Tex2DFormat; @@ -55,15 +61,27 @@ R_PassKind_COUNT String8 r_tex2d_format_display_string_table[] = { str8_lit_comp("R8"), +str8_lit_comp("RG8"), str8_lit_comp("RGBA8"), str8_lit_comp("BGRA8"), +str8_lit_comp("R16"), +str8_lit_comp("RGBA16"), +str8_lit_comp("R32"), +str8_lit_comp("RG32"), +str8_lit_comp("RGBA32"), }; U8 r_tex2d_format_bytes_per_pixel_table[] = { 1, +2, 4, 4, +2, +8, +4, +8, +16, }; String8 r_tex2d_kind_display_string_table[] = diff --git a/src/render/render_core.mdesk b/src/render/render_core.mdesk index 00a25c14..4ca54800 100644 --- a/src/render/render_core.mdesk +++ b/src/render/render_core.mdesk @@ -8,8 +8,14 @@ R_Tex2DFormatTable: { {R8 "R8" 1} + {RG8 "RG8" 2} {RGBA8 "RGBA8" 4} {BGRA8 "BGRA8" 4} + {R16 "R16" 2} + {RGBA16 "RGBA16" 8} + {R32 "R32" 4} + {RG32 "RG32" 8} + {RGBA32 "RGBA32" 16} } @table(name, display_string)