sead
Loading...
Searching...
No Matches
aglResShaderBinary.h
Go to the documentation of this file.
1#pragma once
2
3#include <common/aglResCommon.h>
4#include <common/aglShaderEnum.h>
5
6namespace agl {
7
9{
12 s32 mDataOffset; // Relative to end of struct
14};
15static_assert(sizeof(ResShaderBinaryData) == 0x10, "agl::ResShaderBinaryData size mismatch");
16
18{
20
21public:
23 {
24 return ShaderType(ref().mShaderType);
25 }
26
27 void* getData() const
28 {
29 const DataType* const data = ptr();
30 return (void*)((uintptr_t)(data + 1) + data->mDataOffset);
31 }
32
33 void modifyBinaryEndian();
34 void setUp();
35};
36
38
40static_assert(sizeof(ResShaderBinaryArrayData) == 8, "agl::ResShaderBinaryArrayData size mismatch");
41
42}
#define AGL_RES_COMMON(class_name)
Definition aglResCommon.h:76
Definition aglResCommon.h:117
Definition aglResCommon.h:12
const DataType & ref() const
Definition aglResCommon.h:66
const DataType * ptr() const
Definition aglResCommon.h:55
Definition aglResShaderBinary.h:18
void * getData() const
Definition aglResShaderBinary.h:27
void modifyBinaryEndian()
Definition aglResShaderArchive.cpp:62
ShaderType getShaderType() const
Definition aglResShaderBinary.h:22
void setUp()
Definition aglResShaderArchive.cpp:116
Definition aglDisplayList.cpp:5
ShaderType
Definition aglShaderEnum.h:10
ResArray< ResShaderBinary > ResShaderBinaryArray
Definition aglResShaderBinary.h:37
ResShaderBinaryArray::DataType ResShaderBinaryArrayData
Definition aglResShaderBinary.h:39
Definition aglResShaderBinary.h:9
u32 mShaderType
Definition aglResShaderBinary.h:11
u32 mSize
Definition aglResShaderBinary.h:10
u32 mDataSize
Definition aglResShaderBinary.h:13
s32 mDataOffset
Definition aglResShaderBinary.h:12