sead
Loading...
Searching...
No Matches
aglShaderOptimizeInfo.h
Go to the documentation of this file.
1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace agl {
6
8{
9public:
11 virtual ~ShaderOptimizeInfo();
12
13 void setDefault();
14
15 u32 getVertexShaderGprs() const { return mVertexShader.gprs; }
16 u32 getVertexShaderStackSize() const { return mVertexShader.stack_size; }
17 void setVertexShader(u32 gprs, u32 stack_size);
18
19 u32 getVertexShaderWithGSGprs() const { return mVertexShaderWithGS.gprs; }
20 u32 getVertexShaderWithGSStackSize() const { return mVertexShaderWithGS.stack_size; }
21 void setVertexShaderWithGS(u32 gprs, u32 stack_size);
22
23 u32 getFragmentShaderGprs() const { return mFragmentShader.gprs; }
24 u32 getFragmentShaderStackSize() const { return mFragmentShader.stack_size; }
25 void setFragmentShader(u32 gprs, u32 stack_size);
26
27 u32 getFragmentShaderWithGSGprs() const { return mFragmentShaderWithGS.gprs; }
28 u32 getFragmentShaderWithGSStackSize() const { return mFragmentShaderWithGS.stack_size; }
29 void setFragmentShaderWithGS(u32 gprs, u32 stack_size);
30
31 u32 getGeometryShaderGprs() const { return mGeometryShader.gprs; }
32 u32 getGeometryShaderStackSize() const { return mGeometryShader.stack_size; }
33 void setGeometryShader(u32 gprs, u32 stack_size);
34
35private:
36 struct
37 {
40 } mVertexShader;
41 struct
42 {
43 u8 gprs;
44 u8 stack_size;
45 } mVertexShaderWithGS;
46 struct
47 {
48 u8 gprs;
49 u8 stack_size;
50 } mFragmentShader;
51 struct
52 {
53 u8 gprs;
54 u8 stack_size;
55 } mFragmentShaderWithGS;
56 struct
57 {
58 u8 gprs;
59 u8 stack_size;
60 } mGeometryShader;
61};
62static_assert(sizeof(ShaderOptimizeInfo) == 0x10, "agl::ShaderOptimizeInfo size mismatch");
63
64}
Definition aglShaderOptimizeInfo.h:8
ShaderOptimizeInfo()
Definition aglShaderOptimizeInfo.cpp:5
u32 getFragmentShaderWithGSStackSize() const
Definition aglShaderOptimizeInfo.h:28
u32 getVertexShaderWithGSGprs() const
Definition aglShaderOptimizeInfo.h:19
u32 getFragmentShaderStackSize() const
Definition aglShaderOptimizeInfo.h:24
u32 getFragmentShaderWithGSGprs() const
Definition aglShaderOptimizeInfo.h:27
void setFragmentShaderWithGS(u32 gprs, u32 stack_size)
void setDefault()
Definition aglShaderOptimizeInfo.cpp:14
void setVertexShaderWithGS(u32 gprs, u32 stack_size)
u32 getFragmentShaderGprs() const
Definition aglShaderOptimizeInfo.h:23
u32 getGeometryShaderGprs() const
Definition aglShaderOptimizeInfo.h:31
u32 getGeometryShaderStackSize() const
Definition aglShaderOptimizeInfo.h:32
u32 getVertexShaderWithGSStackSize() const
Definition aglShaderOptimizeInfo.h:20
u8 gprs
Definition aglShaderOptimizeInfo.h:38
u32 getVertexShaderGprs() const
Definition aglShaderOptimizeInfo.h:15
void setFragmentShader(u32 gprs, u32 stack_size)
void setVertexShader(u32 gprs, u32 stack_size)
void setGeometryShader(u32 gprs, u32 stack_size)
virtual ~ShaderOptimizeInfo()
Definition aglShaderOptimizeInfo.cpp:10
u8 stack_size
Definition aglShaderOptimizeInfo.h:39
u32 getVertexShaderStackSize() const
Definition aglShaderOptimizeInfo.h:16
Definition aglDisplayList.cpp:5