28 #ifndef __D3D11HLSLProgram_H__
29 #define __D3D11HLSLProgram_H__
140 D3D11_SHADER_VARIABLE_DESC
var;
D3D11VertexDeclaration mInputVertexDeclaration
String doGet(const void *target) const
Command object for setting backwards compatibility.
void createLowLevelImpl(void)
Internal method for creating an appropriate low-level program from this high-level program...
vector< ShaderVarWithPosInBuf >::type ShaderVars
String doGet(const void *target) const
unsigned int getNumInputs(void) const
void doSet(void *target, const String &val)
ID3D11Buffer * getConstantBuffer(GpuProgramParametersSharedPtr params, uint16 variabilityMask)
D3D11_SHADER_BUFFER_DESC mConstantBufferDesc
void loadFromSource(void)
Internal load implementation, must be implemented by subclasses.
void doSet(void *target, const String &val)
ID3D11ShaderReflectionConstantBuffer * mShaderReflectionConstantBuffer
bool mEnableBackwardsCompatibility
ID3D11Buffer * mConstantBuffer
void compileMicrocode(void)
D3D11VertexDeclaration & getInputVertexDeclaration()
void doSet(void *target, const String &val)
void setEnableBackwardsCompatibility(bool enableBackwardsCompatibility)
Sets whether backwards compatibility is enabled.
bool mColumnMajorMatrices
D3D11_SIGNATURE_PARAMETER_DESC getInputParamDesc(unsigned int index) const
D3D11HLSLProgram(ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual, ManualResourceLoader *loader, D3D11Device &device)
Interface describing a manual resource loader.
void setTarget(const String &target)
Sets the shader target to compile down to, e.g.
void doSet(void *target, const String &val)
String doGet(const void *target) const
void CreateGeometryShader()
ID3D11GeometryShader * getGeometryShader(void) const
const String & getLanguage(void) const
Overridden from GpuProgram.
const MicroCode & getMicroCode(void) const
D3D11_SHADER_DESC mShaderDesc
void unloadHighLevelImpl(void)
Internal unload implementation, must be implemented by subclasses.
ID3D11VertexShader * mVertexShader
Command object for setting macro defines.
void createConstantBuffer(const UINT ByteWidth)
Command object for setting entry point.
vector< byte >::type MicroCode
ID3D11VertexShader * getVertexShader(void) const
Command object for setting target assembler.
static CmdEntryPoint msCmdEntryPoint
static CmdTarget msCmdTarget
String doGet(const void *target) const
void processParamElement(String prefix, LPCSTR pName, size_t paramIndex, ID3D11ShaderReflectionType *varRefType) const
Populate the passed parameters with name->index map, must be overridden.
ID3D11PixelShader * mPixelShader
void getMicrocodeFromCache(void)
ID3D11GeometryShader * mGeometryShader
ID3D11PixelShader * getPixelShader(void) const
GpuProgramParametersSharedPtr createParameters(void)
Overridden from GpuProgram.
ID3D11ShaderReflection * mIShaderReflection
void CreateVertexShader()
String mPreprocessorDefines
String doGet(const void *target) const
void doSet(void *target, const String &val)
unsigned int getNumOutputs(void) const
D3D11_SHADER_VARIABLE_DESC var
D3D11_SIGNATURE_PARAMETER_DESC getOutputParamDesc(unsigned int index) const
unsigned long long int ResourceHandle
bool isSupported(void) const
Overridden from GpuProgram.
bool getColumnMajorMatrices(void) const
Gets whether matrix packed in column-major order.
void setEntryPoint(const String &entryPoint)
Sets the entry point for this program ie the first method called.
bool getEnableBackwardsCompatibility(void) const
Gets whether backwards compatibility is enabled.
static CmdColumnMajorMatrices msCmdColumnMajorMatrices
void populateDef(D3D11_SHADER_TYPE_DESC &d3dDesc, GpuConstantDefinition &def) const
void setPreprocessorDefines(const String &defines)
Sets the preprocessor defines use to compile the program.
Defines a generic resource handler.
Specialisation of VertexDeclaration for D3D11.
ShaderVars::iterator ShaderVarsIter
Information about predefined program constants.
void reinterpretGSForStreamOut(void)
Command object for setting matrix packing in column-major order.
Abstract base class representing a high-level program (a vertex or fragment program).
const String & getTarget(void) const
Gets the shader target to compile down to, e.g.
static CmdEnableBackwardsCompatibility msCmdEnableBackwardsCompatibility
void setColumnMajorMatrices(bool columnMajor)
Sets whether matrix packing in column-major order.
virtual void buildConstantDefinitions() const
Build the constant definition map, must be overridden.
Specialization of HighLevelGpuProgram to provide support for D3D11 High-Level Shader Language (HLSL)...
Abstract class which is command object which gets/sets parameters.
const String & getPreprocessorDefines(void) const
Sets the preprocessor defines use to compile the program.
static CmdPreprocessorDefines msCmdPreprocessorDefines
const String & getEntryPoint(void) const
Gets the entry point defined for this program.