Move `clamp_frag_depth` transformer to backend.
This CL moves the `clamp_frag_depth` transform to be controlled by the SPIR-V backend. Bug: tint:1855 chromium:1421379 Change-Id: Ia439d812d4baf35d4d4955595938a2bd5e647167 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123560 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
parent
6521a357f5
commit
1f6ce67ed2
|
@ -27,7 +27,6 @@
|
||||||
#include "src/tint/reader/reader.h"
|
#include "src/tint/reader/reader.h"
|
||||||
#include "src/tint/text/unicode.h"
|
#include "src/tint/text/unicode.h"
|
||||||
#include "src/tint/transform/binding_remapper.h"
|
#include "src/tint/transform/binding_remapper.h"
|
||||||
#include "src/tint/transform/clamp_frag_depth.h"
|
|
||||||
#include "src/tint/transform/first_index_offset.h"
|
#include "src/tint/transform/first_index_offset.h"
|
||||||
#include "src/tint/transform/manager.h"
|
#include "src/tint/transform/manager.h"
|
||||||
#include "src/tint/transform/multiplanar_external_texture.h"
|
#include "src/tint/transform/multiplanar_external_texture.h"
|
||||||
|
|
|
@ -305,10 +305,6 @@ ResultOrError<ShaderModule::ModuleAndSpirv> ShaderModule::GetHandleAndSpirv(
|
||||||
r.newBindingsMap);
|
r.newBindingsMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r.clampFragDepth) {
|
|
||||||
transformManager.Add<tint::transform::ClampFragDepth>();
|
|
||||||
}
|
|
||||||
|
|
||||||
tint::Program program;
|
tint::Program program;
|
||||||
tint::transform::DataMap transformOutputs;
|
tint::transform::DataMap transformOutputs;
|
||||||
{
|
{
|
||||||
|
@ -340,6 +336,7 @@ ResultOrError<ShaderModule::ModuleAndSpirv> ShaderModule::GetHandleAndSpirv(
|
||||||
}
|
}
|
||||||
|
|
||||||
tint::writer::spirv::Options options;
|
tint::writer::spirv::Options options;
|
||||||
|
options.clamp_frag_depth = r.clampFragDepth;
|
||||||
options.disable_robustness = !r.isRobustnessEnabled;
|
options.disable_robustness = !r.isRobustnessEnabled;
|
||||||
options.emit_vertex_point_size = true;
|
options.emit_vertex_point_size = true;
|
||||||
options.disable_workgroup_init = r.disableWorkgroupInit;
|
options.disable_workgroup_init = r.disableWorkgroupInit;
|
||||||
|
|
|
@ -46,6 +46,9 @@ struct Options {
|
||||||
/// Set to `true` to disable workgroup memory zero initialization
|
/// Set to `true` to disable workgroup memory zero initialization
|
||||||
bool disable_workgroup_init = false;
|
bool disable_workgroup_init = false;
|
||||||
|
|
||||||
|
/// Set to `true` to clamp frag depth
|
||||||
|
bool clamp_frag_depth = false;
|
||||||
|
|
||||||
/// Options used in the binding mappings for external textures
|
/// Options used in the binding mappings for external textures
|
||||||
ExternalTextureOptions external_texture_options = {};
|
ExternalTextureOptions external_texture_options = {};
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include "src/tint/transform/add_empty_entry_point.h"
|
#include "src/tint/transform/add_empty_entry_point.h"
|
||||||
#include "src/tint/transform/builtin_polyfill.h"
|
#include "src/tint/transform/builtin_polyfill.h"
|
||||||
#include "src/tint/transform/canonicalize_entry_point_io.h"
|
#include "src/tint/transform/canonicalize_entry_point_io.h"
|
||||||
|
#include "src/tint/transform/clamp_frag_depth.h"
|
||||||
#include "src/tint/transform/demote_to_helper.h"
|
#include "src/tint/transform/demote_to_helper.h"
|
||||||
#include "src/tint/transform/direct_variable_access.h"
|
#include "src/tint/transform/direct_variable_access.h"
|
||||||
#include "src/tint/transform/disable_uniformity_analysis.h"
|
#include "src/tint/transform/disable_uniformity_analysis.h"
|
||||||
|
@ -49,6 +50,10 @@ SanitizedResult Sanitize(const Program* in, const Options& options) {
|
||||||
transform::Manager manager;
|
transform::Manager manager;
|
||||||
transform::DataMap data;
|
transform::DataMap data;
|
||||||
|
|
||||||
|
if (options.clamp_frag_depth) {
|
||||||
|
manager.Add<tint::transform::ClampFragDepth>();
|
||||||
|
}
|
||||||
|
|
||||||
manager.Add<transform::DisableUniformityAnalysis>();
|
manager.Add<transform::DisableUniformityAnalysis>();
|
||||||
|
|
||||||
// ExpandCompoundAssignment must come before BuiltinPolyfill
|
// ExpandCompoundAssignment must come before BuiltinPolyfill
|
||||||
|
|
Loading…
Reference in New Issue