[D3D12] Broken memexport shader code

This commit is contained in:
Triang3l 2018-12-27 20:40:26 +03:00
parent bd9aae016f
commit ec7667ce1b
3 changed files with 1396 additions and 1 deletions

View File

@ -1296,7 +1296,8 @@ void DxbcShaderTranslator::CompleteShaderCode() {
// - system_temp_grad_v_. // - system_temp_grad_v_.
PopSystemTemp(6); PopSystemTemp(6);
// TODO(Triang3l): Do memexport. // Write memexported data to the shared memory UAV.
ExportToMemory();
// Release memexport temporary registers. // Release memexport temporary registers.
for (int i = kMaxMemExports - 1; i >= 0; --i) { for (int i = kMaxMemExports - 1; i >= 0; --i) {

View File

@ -830,6 +830,9 @@ class DxbcShaderTranslator : public ShaderTranslator {
void StartPixelShader(); void StartPixelShader();
// Writing the epilogue. // Writing the epilogue.
// ExportToMemory modifies the values of eA/eM# for simplicity, don't call
// multiple times.
void ExportToMemory();
void CompleteVertexOrDomainShader(); void CompleteVertexOrDomainShader();
// Converts four depth values to 24-bit unorm or float, depending on the flag // Converts four depth values to 24-bit unorm or float, depending on the flag
// value. // value.

File diff suppressed because it is too large Load Diff