• Home
  • Raw
  • Download

Lines Matching +full:write +full:- +full:output

9 //     http://www.apache.org/licenses/LICENSE-2.0
26 #include "spirv-tools/instrument.hpp"
43 // Chief among the helper functions are output code generation functions,
44 // used to generate code in the shader which writes data to output buffers
48 // its output buffer.
50 // A validation pass may read or write multiple buffers. All such buffers
61 // its output buffers.
83 // for debug input and output buffers and writes |shader_id| into debug
84 // output records.
112 // increment the size of the debug output buffer stream of the current
113 // validation and write a record to the end of the stream, if enough space
118 // of the shader. Finally, the record will contain validation-specific
122 // The output buffer binding written to by the code generated by the function
126 // The output buffer is a sequence of 32-bit values with the following
127 // format (where all elements are unsigned 32-bit unless otherwise noted):
135 // Size is the number of 32-bit values that have been written or
136 // attempted to be written to the output buffer, excluding the Size. It is
137 // initialized to 0. If the size of attempts to write the buffer exceeds
141 // Each Record* is a variable-length sequence of 32-bit values with the
148 // Stage-specific Word 0
149 // Stage-specific Word 1
151 // Validation-specific Word 0
152 // Validation-specific Word 1
153 // Validation-specific Word 2
160 // The Record Size is the number of 32-bit words in the record, including
167 // SPIR-V file which is in error.
171 // following Stage-specific words.
173 // The Stage-specific Words identify which invocation of the shader generated
174 // the error. Every stage will write two words, although in some cases the
175 // second word is unused and so zero is written. Vertex shaders will write
176 // the Vertex and Instance ID. Fragment shaders will write FragCoord.xy.
177 // Compute shaders will write the Global Invocation ID and zero (unused).
178 // Both tesselation shaders will write the Invocation Id and zero (unused).
179 // The geometry shader will write the Primitive ID and Invocation ID.
183 // multiple validation layers to use the same, single output buffer.
185 // The Validation-specific Words are a validation-specific number of 32-bit
188 // validation-specific class which derives from this base class.
204 // Return id for 32-bit unsigned type
207 // Return id for 32-bit unsigned type
213 // Return id for output buffer uint type
216 // Return binding for output buffer for current validation.
219 // Return id for debug output buffer
228 // Return id for output function. Define if it doesn't exist with
229 // |val_spec_arg_cnt| validation-specific uint32 arguments.
246 // Gen code into |builder| to write |field_value_id| into debug output
252 // Generate instructions into |builder| which will write the members
253 // of the debug output record common for all stages and validations at
259 // Generate instructions into |builder| which will write
261 // the debug output buffer .
268 // and write it into the debug output buffer at |base_off| + |builtin_off|.
272 // Generate instructions into |builder| which will write a uint null into
273 // the debug output buffer at |base_off| + |builtin_off|.
277 // Generate instructions into |builder| which will write the |stage_idx|-
278 // specific members of the debug output stream at |base_off|.
303 // Shader module ID written into output record
319 // id for output buffer variable
322 // type id for output buffer element
325 // id for debug output function
328 // param count for output function
337 // id for 32-bit unsigned type
346 // Pre-instrumentation same-block insts
349 // Post-instrumentation same-block op ids