small fixes.

This commit is contained in:
javasabr 2018-02-08 06:57:55 +03:00 committed by Nehon
parent 644663f871
commit ab10d6293e
3 changed files with 7 additions and 5 deletions

View File

@ -797,7 +797,7 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable {
if(type == VarType.ShaderStorageBufferObject) { if(type == VarType.ShaderStorageBufferObject) {
final StorageBlock storageBlock = shader.getStorageBlock(name); final StorageBlock storageBlock = shader.getStorageBlock(param.getPrefixedName());
storageBlock.setStorageData(param.getValue()); storageBlock.setStorageData(param.getValue());
} else { } else {

View File

@ -1205,6 +1205,8 @@ public final class GLRenderer implements Renderer {
bindProgram(shader); bindProgram(shader);
storageBlock.clearUpdateNeeded();
final ShaderStorageBufferObject storageData = (ShaderStorageBufferObject) storageBlock.getStorageData(); final ShaderStorageBufferObject storageData = (ShaderStorageBufferObject) storageBlock.getStorageData();
if (storageData.getUniqueId() == -1 || storageData.isUpdateNeeded()) { if (storageData.getUniqueId() == -1 || storageData.isUpdateNeeded()) {
updateBufferData(storageData); updateBufferData(storageData);
@ -1232,9 +1234,9 @@ public final class GLRenderer implements Renderer {
* @param shader the shader. * @param shader the shader.
*/ */
protected void updateShaderStorageBlocks(final Shader shader) { protected void updateShaderStorageBlocks(final Shader shader) {
final ListMap<String, StorageBlock> uniforms = shader.getStorageBlockMap(); final ListMap<String, StorageBlock> storageBlocks = shader.getStorageBlockMap();
for (int i = 0; i < uniforms.size(); i++) { for (int i = 0; i < storageBlocks.size(); i++) {
final StorageBlock storageBlock = uniforms.getValue(i); final StorageBlock storageBlock = storageBlocks.getValue(i);
if (storageBlock.isUpdateNeeded()) { if (storageBlock.isUpdateNeeded()) {
updateShaderStorageBlock(shader, storageBlock); updateShaderStorageBlock(shader, storageBlock);
} }

View File

@ -117,7 +117,7 @@ public class ShaderStorageBufferObject extends NativeObject {
@Override @Override
public void deleteObject(final Object rendererObject) { public void deleteObject(final Object rendererObject) {
if (rendererObject instanceof Renderer) { if (!(rendererObject instanceof Renderer)) {
throw new IllegalArgumentException("This ssbo can't be deleted from " + rendererObject); throw new IllegalArgumentException("This ssbo can't be deleted from " + rendererObject);
} }