28 #ifndef __D3D9HLSLProgram_H__
29 #define __D3D9HLSLProgram_H__
50 String doGet(
const void* target)
const;
51 void doSet(
void* target,
const String& val);
57 String doGet(
const void* target)
const;
58 void doSet(
void* target,
const String& val);
64 String doGet(
const void* target)
const;
65 void doSet(
void* target,
const String& val);
71 String doGet(
const void* target)
const;
72 void doSet(
void* target,
const String& val);
78 String doGet(
const void* target)
const;
79 void doSet(
void* target,
const String& val);
86 String doGet(
const void* target)
const;
87 void doSet(
void* target,
const String& val);
94 String doGet(
const void* target)
const;
95 void doSet(
void* target,
const String& val);
102 String doGet(
const void* target)
const;
103 void doSet(
void* target,
const String& val);
119 void loadFromSource(
void);
122 void createLowLevelImpl(
void);
124 void unloadHighLevelImpl(
void);
126 void buildConstantDefinitions()
const;
129 void processParamElement(LPD3DXCONSTANTTABLE pConstTable, D3DXHANDLE parent,
String prefix,
unsigned int index);
144 LPD3DXBUFFER getMicroCode();
166 void getMicrocodeFromCache(
void);
168 void compileMicrocode(
void);
169 void addMicrocodeToCache();
180 void setTarget(
const String& target);
204 bool isSupported(
void)
const;
208 const String& getLanguage(
void)
const;
OptimisationLevel mOptimisationLevel
static CmdTarget msCmdTarget
String mPreprocessorDefines
static CmdPreprocessorDefines msCmdPreprocessorDefines
Command object for setting macro defines.
OptimisationLevel
Shader optimisation level.
size_t mParametersMapSizeAsBuffer
Command object for setting target assembler.
OptimisationLevel getOptimisationLevel() const
Gets the optimisation level to use.
Abstract base class representing a high-level program (a vertex or fragment program).
Interface describing a manual resource loader.
GpuConstantDefinitionMap mParametersMap
static CmdColumnMajorMatrices msCmdColumnMajorMatrices
unsigned long long int ResourceHandle
void setBackwardsCompatibility(bool compat)
Sets whether backwards compatibility mode should be enabled.
static CmdMicrocode msCmdMicrocode
void setEntryPoint(const String &entryPoint)
Sets the entry point for this program ie the first method called.
const String & getEntryPoint(void) const
Gets the entry point defined for this program.
map< String, GpuConstantDefinition >::type GpuConstantDefinitionMap
bool getColumnMajorMatrices(void) const
Gets whether matrix packed in column-major order.
Command object for setting optimisation level.
bool getBackwardsCompatibility(void) const
Gets whether backwards compatibility mode should be enabled.
static CmdEntryPoint msCmdEntryPoint
const String & getTarget(void) const
Gets the shader target to compile down to, e.g.
Command object for setting entry point.
Command object for getting/setting assembler code.
default - no optimisation in debug mode, OPT_1 in release mode
Command object for enabling backwards compatibility.
Defines a generic resource handler.
void setPreprocessorDefines(const String &defines)
Sets the preprocessor defines use to compile the program.
bool mColumnMajorMatrices
Specialisation of HighLevelGpuProgram to provide support for D3D9 High-Level Shader Language (HLSL)...
static CmdOptimisation msCmdOptimisation
void setColumnMajorMatrices(bool columnMajor)
Sets whether matrix packing in column-major order.
static CmdBackwardsCompatibility msCmdBackwardsCompatibility
bool mBackwardsCompatibility
Abstract class which is command object which gets/sets parameters.
Information about predefined program constants.
const String & getPreprocessorDefines(void) const
Sets the preprocessor defines use to compile the program.
void setOptimisationLevel(OptimisationLevel opt)
Sets the optimisation level to use.
Command object for setting matrix packing in column-major order.
static CmdAssemblerCode msCmdAssemblerCode
Command object for getting/setting micro code.