mesa: add astc decoder shader template (glsl es version)

This shader originates from Granite 3D engine and has been adapted
to be used with Open GL and some GLSL ES specifics.

GLSL ES adaptation:

- remove Vulkan specifics: EXT_samplerless_texture_functions usage,
  specialization constants, push constant usage
- inline bitextract.h
- always DECODE_8BIT and hardcode error color (for now)
- port to GLSL ES, required some type changes, explicit type
  conversions and setting up precisions for types

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19886>
This commit is contained in:
Tapani Pälli
2023-01-24 09:46:08 +02:00
committed by Marge Bot
parent 179adf9d59
commit 977bc760fa
2 changed files with 1315 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -107,6 +107,13 @@ etc2_rgba_stitch_glsl_h = custom_target(
command : [prog_python, '@INPUT@', '@OUTPUT@', '-n', 'etc2_rgba_stitch_source'],
)
astc_glsl_h = custom_target(
'astc_glsl.h',
input : [files_xxd, 'astc_decoder.glsl'],
output : 'astc_glsl.h',
command : [prog_python, '@INPUT@', '@OUTPUT@', '-n', 'astc_source'],
)
files_libglsl = files(
'ast.h',
'ast_array_index.cpp',
@@ -250,7 +257,7 @@ libglsl = static_library(
[files_libglsl, glsl_parser, glsl_lexer_cpp, ir_expression_operation_h,
ir_expression_operation_strings_h, ir_expression_operation_constant_h,
float64_glsl_h, cross_platform_settings_piece_all_h, bc1_glsl_h, bc4_glsl_h,
etc2_rgba_stitch_glsl_h],
etc2_rgba_stitch_glsl_h, astc_glsl_h],
c_args : [c_msvc_compat_args, no_override_init_args],
cpp_args : [cpp_msvc_compat_args],
gnu_symbol_visibility : 'hidden',