mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-03 21:13:42 +00:00
ShaderBlock:isWritable;
This commit is contained in:
parent
70b27bd846
commit
e3e17bc84c
|
@ -8,6 +8,12 @@ int l_lovrShaderBlockGetSize(lua_State* L) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int l_lovrShaderBlockIsWritable(lua_State* L) {
|
||||||
|
ShaderBlock* block = luax_checktype(L, 1, ShaderBlock);
|
||||||
|
lua_pushboolean(L, lovrShaderBlockGetType(block) == BLOCK_STORAGE);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int l_lovrShaderBlockSend(lua_State* L) {
|
int l_lovrShaderBlockSend(lua_State* L) {
|
||||||
ShaderBlock* block = luax_checktype(L, 1, ShaderBlock);
|
ShaderBlock* block = luax_checktype(L, 1, ShaderBlock);
|
||||||
const char* name = luaL_checkstring(L, 2);
|
const char* name = luaL_checkstring(L, 2);
|
||||||
|
@ -20,6 +26,7 @@ int l_lovrShaderBlockSend(lua_State* L) {
|
||||||
|
|
||||||
const luaL_Reg lovrShaderBlock[] = {
|
const luaL_Reg lovrShaderBlock[] = {
|
||||||
{ "getSize", l_lovrShaderBlockGetSize },
|
{ "getSize", l_lovrShaderBlockGetSize },
|
||||||
|
{ "isWritable", l_lovrShaderBlockIsWritable },
|
||||||
{ "send", l_lovrShaderBlockSend },
|
{ "send", l_lovrShaderBlockSend },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
|
@ -1700,6 +1700,10 @@ size_t lovrShaderBlockGetSize(ShaderBlock* block) {
|
||||||
return block->size;
|
return block->size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BlockType lovrShaderBlockGetType(ShaderBlock* block) {
|
||||||
|
return block->type;
|
||||||
|
}
|
||||||
|
|
||||||
const Uniform* lovrShaderBlockGetUniform(ShaderBlock* block, const char* name) {
|
const Uniform* lovrShaderBlockGetUniform(ShaderBlock* block, const char* name) {
|
||||||
int* index = map_get(&block->uniformMap, name);
|
int* index = map_get(&block->uniformMap, name);
|
||||||
if (!index) return NULL;
|
if (!index) return NULL;
|
||||||
|
|
|
@ -75,6 +75,7 @@ void lovrShaderSetBlock(Shader* shader, const char* name, ShaderBlock* block);
|
||||||
ShaderBlock* lovrShaderBlockCreate(vec_uniform_t* uniforms, BlockType type, BufferUsage usage);
|
ShaderBlock* lovrShaderBlockCreate(vec_uniform_t* uniforms, BlockType type, BufferUsage usage);
|
||||||
void lovrShaderBlockDestroy(void* ref);
|
void lovrShaderBlockDestroy(void* ref);
|
||||||
size_t lovrShaderBlockGetSize(ShaderBlock* block);
|
size_t lovrShaderBlockGetSize(ShaderBlock* block);
|
||||||
|
BlockType lovrShaderBlockGetType(ShaderBlock* block);
|
||||||
const Uniform* lovrShaderBlockGetUniform(ShaderBlock* block, const char* name);
|
const Uniform* lovrShaderBlockGetUniform(ShaderBlock* block, const char* name);
|
||||||
void* lovrShaderBlockMap(ShaderBlock* block);
|
void* lovrShaderBlockMap(ShaderBlock* block);
|
||||||
void lovrShaderBlockUnmap(ShaderBlock* block);
|
void lovrShaderBlockUnmap(ShaderBlock* block);
|
||||||
|
|
Loading…
Reference in a new issue