Merge pull request #1537 from lioncash/shader
gl_shader_decompiler: Minor changes
This commit is contained in:
commit
4cccfb4190
@ -378,8 +378,8 @@ public:
|
|||||||
* @param reg The destination register to use.
|
* @param reg The destination register to use.
|
||||||
* @param elem The element to use for the operation.
|
* @param elem The element to use for the operation.
|
||||||
* @param value The code representing the value to assign. Type has to be half float.
|
* @param value The code representing the value to assign. Type has to be half float.
|
||||||
* @param type Half float kind of assignment.
|
* @param merge Half float kind of assignment.
|
||||||
* @param dest_num_components Number of components in the destionation.
|
* @param dest_num_components Number of components in the destination.
|
||||||
* @param value_num_components Number of components in the value.
|
* @param value_num_components Number of components in the value.
|
||||||
* @param is_saturated Optional, when True, saturates the provided value.
|
* @param is_saturated Optional, when True, saturates the provided value.
|
||||||
* @param dest_elem Optional, the destination element to use for the operation.
|
* @param dest_elem Optional, the destination element to use for the operation.
|
||||||
@ -422,6 +422,7 @@ public:
|
|||||||
* @param reg The destination register to use.
|
* @param reg The destination register to use.
|
||||||
* @param elem The element to use for the operation.
|
* @param elem The element to use for the operation.
|
||||||
* @param attribute The input attribute to use as the source value.
|
* @param attribute The input attribute to use as the source value.
|
||||||
|
* @param input_mode The input mode.
|
||||||
* @param vertex The register that decides which vertex to read from (used in GS).
|
* @param vertex The register that decides which vertex to read from (used in GS).
|
||||||
*/
|
*/
|
||||||
void SetRegisterToInputAttibute(const Register& reg, u64 elem, Attribute::Index attribute,
|
void SetRegisterToInputAttibute(const Register& reg, u64 elem, Attribute::Index attribute,
|
||||||
@ -951,7 +952,7 @@ private:
|
|||||||
// Can't assign to the constant predicate.
|
// Can't assign to the constant predicate.
|
||||||
ASSERT(pred != static_cast<u64>(Pred::UnusedIndex));
|
ASSERT(pred != static_cast<u64>(Pred::UnusedIndex));
|
||||||
|
|
||||||
const std::string variable = 'p' + std::to_string(pred) + '_' + suffix;
|
std::string variable = 'p' + std::to_string(pred) + '_' + suffix;
|
||||||
shader.AddLine(variable + " = " + value + ';');
|
shader.AddLine(variable + " = " + value + ';');
|
||||||
declr_predicates.insert(std::move(variable));
|
declr_predicates.insert(std::move(variable));
|
||||||
}
|
}
|
||||||
@ -1058,7 +1059,7 @@ private:
|
|||||||
/*
|
/*
|
||||||
* Transforms the input string GLSL operand into an unpacked half float pair.
|
* Transforms the input string GLSL operand into an unpacked half float pair.
|
||||||
* @note This function returns a float type pair instead of a half float pair. This is because
|
* @note This function returns a float type pair instead of a half float pair. This is because
|
||||||
* real half floats are not standarized in GLSL but unpackHalf2x16 (which returns a vec2) is.
|
* real half floats are not standardized in GLSL but unpackHalf2x16 (which returns a vec2) is.
|
||||||
* @param operand Input operand. It has to be an unsigned integer.
|
* @param operand Input operand. It has to be an unsigned integer.
|
||||||
* @param type How to unpack the unsigned integer to a half float pair.
|
* @param type How to unpack the unsigned integer to a half float pair.
|
||||||
* @param abs Get the absolute value of unpacked half floats.
|
* @param abs Get the absolute value of unpacked half floats.
|
||||||
@ -3291,8 +3292,8 @@ private:
|
|||||||
Tegra::Shader::VmadType type, u64 byte_height) {
|
Tegra::Shader::VmadType type, u64 byte_height) {
|
||||||
const std::string value = [&]() {
|
const std::string value = [&]() {
|
||||||
if (!is_chunk) {
|
if (!is_chunk) {
|
||||||
const auto offset = static_cast<u32>(byte_height * 8);
|
const auto shift = static_cast<u32>(byte_height * 8);
|
||||||
return "((" + op + " >> " + std::to_string(offset) + ") & 0xff)";
|
return "((" + op + " >> " + std::to_string(shift) + ") & 0xff)";
|
||||||
}
|
}
|
||||||
const std::string zero = "0";
|
const std::string zero = "0";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user