HLSL: Remove workarounds for assigning to opaques.

This assumes it will be combined with optimizing transforms
that eliminate assignments to opaques.
This commit is contained in:
John Kessenich 2017-09-07 04:33:11 -06:00 committed by GregF
parent dabd1bf2f0
commit 15fa7ef5f5
7 changed files with 313 additions and 234 deletions

View file

@ -234,7 +234,8 @@ public:
hlslOffsets(false),
useStorageBuffer(false),
hlslIoMapping(false),
textureSamplerTransformMode(EShTexSampTransKeep)
textureSamplerTransformMode(EShTexSampTransKeep),
needToLegalize(false)
{
localSize[0] = 1;
localSize[1] = 1;
@ -610,6 +611,9 @@ public:
void addProcessArgument(const std::string& arg) { processes.addArgument(arg); }
const std::vector<std::string>& getProcesses() const { return processes.getProcesses(); }
void setNeedsLegalization() { needToLegalize = true; }
bool needsLegalization() const { return needToLegalize; }
const char* const implicitThisName;
protected:
@ -708,6 +712,8 @@ protected:
// for OpModuleProcessed, or equivalent
TProcesses processes;
bool needToLegalize;
private:
void operator=(TIntermediate&); // prevent assignments
};