mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
glstuff: Fix incorrect handling of Transpose in Shader Inputs
- Added missing recalculation of size when input buffer is "resized" (due to removing of post/pre-fixes). Now the "Transponse" part is correctly handled. Signed-off-by: deflected <deflected@github>
This commit is contained in:
parent
5d84cc22a9
commit
88e5214af7
@ -589,7 +589,8 @@ reflect_uniform(int i, char *name_buffer, GLsizei name_buflen) {
|
|||||||
// Strip off [0] suffix that some drivers append to arrays.
|
// Strip off [0] suffix that some drivers append to arrays.
|
||||||
size_t size = strlen(name_buffer);
|
size_t size = strlen(name_buffer);
|
||||||
if (size > 3 && strncmp(name_buffer + (size - 3), "[0]", 3) == 0) {
|
if (size > 3 && strncmp(name_buffer + (size - 3), "[0]", 3) == 0) {
|
||||||
name_buffer[size - 3] = 0;
|
size -= 3;
|
||||||
|
name_buffer[size] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
string param_name(name_buffer);
|
string param_name(name_buffer);
|
||||||
@ -606,6 +607,7 @@ reflect_uniform(int i, char *name_buffer, GLsizei name_buflen) {
|
|||||||
bool transpose = false;
|
bool transpose = false;
|
||||||
bool inverse = false;
|
bool inverse = false;
|
||||||
string matrix_name(noprefix);
|
string matrix_name(noprefix);
|
||||||
|
size = matrix_name.size();
|
||||||
|
|
||||||
// Check for and chop off any "Transpose" or "Inverse" suffix.
|
// Check for and chop off any "Transpose" or "Inverse" suffix.
|
||||||
if (size > 15 && matrix_name.compare(size - 9, 9, "Transpose") == 0) {
|
if (size > 15 && matrix_name.compare(size - 9, 9, "Transpose") == 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user