shader_decode: Implement TLDS (untested)

This commit is contained in:
ReinUsesLisp
2018-12-23 01:18:33 -03:00
parent ec98e4d842
commit 55e6786254
3 changed files with 92 additions and 10 deletions

View File

@ -154,6 +154,7 @@ enum class OperationCode {
F4TextureGather, /// (MetaTexture, float[N] coords, float[M] params) -> float4
F4TextureQueryDimensions, /// (MetaTexture, float a) -> float4
F4TextureQueryLod, /// (MetaTexture, float[N] coords) -> float4
F4TexelFetch, /// (MetaTexture, int[N], int) -> float4
Ipa, /// (abuf src) -> float
@ -694,6 +695,9 @@ private:
Node GetTld4Code(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type,
bool depth_compare, bool is_array);
Node GetTldsCode(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type,
bool is_array);
std::tuple<std::size_t, std::size_t> ValidateAndGetCoordinateElement(
Tegra::Shader::TextureType texture_type, bool depth_compare, bool is_array,
bool lod_bias_enabled, std::size_t max_coords, std::size_t max_inputs);