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;
static CmdAssemblerCode msCmdAssemblerCode
OptimisationLevel getOptimisationLevel() const
Gets the optimisation level to use.
Command object for setting target assembler.
static CmdTarget msCmdTarget
bool getColumnMajorMatrices(void) const
Gets whether matrix packed in column-major order.
Command object for getting/setting assembler code.
Command object for setting matrix packing in column-major order.
Interface describing a manual resource loader.
OptimisationLevel mOptimisationLevel
Specialisation of HighLevelGpuProgram to provide support for D3D9 High-Level Shader Language (HLSL)...
static CmdMicrocode msCmdMicrocode
const String & getPreprocessorDefines(void) const
Sets the preprocessor defines use to compile the program.
void setEntryPoint(const String &entryPoint)
Sets the entry point for this program ie the first method called.
bool mColumnMajorMatrices
String mPreprocessorDefines
void setColumnMajorMatrices(bool columnMajor)
Sets whether matrix packing in column-major order.
Command object for setting entry point.
static CmdOptimisation msCmdOptimisation
static CmdBackwardsCompatibility msCmdBackwardsCompatibility
bool mBackwardsCompatibility
Command object for enabling backwards compatibility.
Command object for getting/setting micro code.
void setBackwardsCompatibility(bool compat)
Sets whether backwards compatibility mode should be enabled.
bool getBackwardsCompatibility(void) const
Gets whether backwards compatibility mode should be enabled.
unsigned long long int ResourceHandle
const String & getEntryPoint(void) const
Gets the entry point defined for this program.
OptimisationLevel
Shader optimisation level.
static CmdEntryPoint msCmdEntryPoint
map< String, GpuConstantDefinition >::type GpuConstantDefinitionMap
Defines a generic resource handler.
Information about predefined program constants.
default - no optimisation in debug mode, OPT_1 in release mode
const String & getTarget(void) const
Gets the shader target to compile down to, e.g.
Command object for setting optimisation level.
Abstract base class representing a high-level program (a vertex or fragment program).
size_t mParametersMapSizeAsBuffer
Command object for setting macro defines.
static CmdPreprocessorDefines msCmdPreprocessorDefines
void setOptimisationLevel(OptimisationLevel opt)
Sets the optimisation level to use.
GpuConstantDefinitionMap mParametersMap
Abstract class which is command object which gets/sets parameters.
static CmdColumnMajorMatrices msCmdColumnMajorMatrices
void setPreprocessorDefines(const String &defines)
Sets the preprocessor defines use to compile the program.