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

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Tue Apr 13 2021 08:53:15