/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/VK_HUAWEI_cluster_culling_shader/ |
D | clusterculling.adoc | 8 This shader type has an execution environment similar to that of a compute 9 shader, where a collection of shader invocations form a workgroup and 11 A shader invocation can emit a set of built-in output variables via a new 13 The cluster culling shader organizes these emitted variables into a drawing 20 The only inputs available to the cluster culling shader are variables 27 If a cluster survives after culling in a cluster culling shader invocation, 28 a drawing command to draw this cluster should be emitted by this shader 55 When cluster culling shader is enabled, code:ClusterIDHUAWEI will 56 replace code:gl_DrawID pass to vertex shader. 62 * When a cluster culling shader is used, all output clusters generated by [all …]
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/ |
D | VK_AMD_shader_info.adoc | 7 [open,refpage='vkGetShaderInfoAMD',desc='Get information about a shader in a pipeline',type='protos… 9 Information about a particular shader that has been compiled as part of a 17 particular shader within the pipeline about which information is being 25 be retrieved about the shader, in bytes, is returned in pname:pInfoSize. 36 Not all information is available for every shader and implementations may 37 not support all kinds of information for any shader. 48 device resources used by that shader along with other miscellaneous 64 [open,refpage='VkShaderInfoTypeAMD',desc='Enum specifying which type of shader information to query… 67 information being queried from a shader, are: 72 used by a shader will be queried. [all …]
|
D | geometry.adoc | 8 The geometry shader operates on a group of vertices and their associated 12 Geometry shading is enabled when a geometry shader is included in the 19 Each geometry shader invocation has access to all vertices in the primitive 20 (and their associated data), which are presented to the shader as an array 23 The input primitive type expected by the geometry shader is specified with 24 an code:OpExecutionMode instruction in the geometry shader, and must: match 32 tessellation shader specifying code:PointMode. 38 ename:VK_PRIMITIVE_TOPOLOGY_LINE_STRIP, or with a tessellation shader 55 ename:VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN; or with a tessellation shader 83 A geometry shader generates primitives in one of three output modes: points, [all …]
|
D | raytracing.adoc | 16 Interaction between the different shader stages in the ray tracing pipeline 24 various ray tracing shader stages during its execution. 30 invoke a <<shaders-callable,callable shader>>. 36 The shader stages are programmable. 48 [[ray-tracing-shader-call]] 53 shader stage. 55 The shader call instructions are: 64 * code:OpExecuteCallableKHR which will invoke a callable shader. 72 The invocations created by shader call instructions are grouped into 88 each shader executed by a pipeline trace ray instruction has a recursion [all …]
|
D | shaders.adoc | 8 A shader specifies programmable operations that execute for each vertex, 12 Graphics pipelines include vertex shader execution as a result of 19 <<pipelines-graphics-subsets-pre-rasterization,pre-rasterization shader 21 The fragment shader occurs logically after rasterization. 23 Only the compute shader stage is included in a compute pipeline. 28 Input and output variables can: be used to transfer data between shader 29 stages, or to allow the shader to interact with values that exist in the 35 and outputs using _built-in_ decorations in the shader. 49 Unlike pipelines, shader objects are not intrinsically tied to any specific 53 Each shader object represents a single compiled shader stage, which may: [all …]
|
/hardware/google/gfxstream/host/tests/ |
D | ShaderUtils.cpp | 47 GLuint shader = gl->glCreateShader(shaderType); in compileShader() local 48 gl->glShaderSource(shader, 1, (const GLchar* const*)&src, nullptr); in compileShader() 49 gl->glCompileShader(shader); in compileShader() 52 gl->glGetShaderiv(shader, GL_COMPILE_STATUS, &compileStatus); in compileShader() 56 gl->glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); in compileShader() 58 gl->glGetShaderInfoLog(shader, infoLogLength, nullptr, &infoLog[0]); in compileShader() 62 return shader; in compileShader()
|
D | GLSnapshotTestStateUtils.cpp | 51 GLuint shader = gl->glCreateShader(shaderType); in loadAndCompileShader() local 52 gl->glShaderSource(shader, 1, (const GLchar* const*)&src, nullptr); in loadAndCompileShader() 53 gl->glCompileShader(shader); in loadAndCompileShader() 56 gl->glGetShaderiv(shader, GL_COMPILE_STATUS, &compileStatus); in loadAndCompileShader() 61 gl->glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength); in loadAndCompileShader() 64 gl->glGetShaderInfoLog(shader, infoLogLength, nullptr, &infoLog[0]); in loadAndCompileShader() 69 return shader; in loadAndCompileShader()
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/proposals/ |
D | VK_EXT_mesh_shader.adoc | 16 … fairly fixed - a fixed input stage assembles vertex data for the vertex shader, data optionally p… 19 …f the vertex shader is also somewhat redundant - transformations could be performed just as easily… 21 … way to make the geometry pipeline more flexible, removing the unnecessary cost of an extra shader. 29 …. Skipping the vertex shader and using geometry or tessellation shaders at the start of the pipeli… 30 . Use compute shaders in place of pre-rasterization shader stages 37 …istorically not very efficient across platforms, and removing the vertex shader from the front of … 40 The main difficulty with this is simply defining the interface between the shader and the rasterize… 49 This proposal adds two new shader stages, which can be used in place of the existing pre-rasterizat… 54 Mesh shaders are a new compute-like shader stage that has a primary aim of generating a set of prim… 57 …rtex input interface, and geometry and indices must: be generated by the shader or read from buffe… [all …]
|
/hardware/google/gfxstream/host/vulkan/emulated_textures/shaders/ |
D | build_shaders.py | 42 def compile(shader: str, dim: int): 43 input = "{}.comp".format(shader) 44 output = os.path.join(output_dir, "{}_{}D.inl".format(shader, dim)) 66 for shader in shaders: 68 compile(shader, dim)
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/VK_NV_mesh_shader/ |
D | mesh.adoc | 15 If the optional task shader is active, each workgroup triggers the execution 16 of task shader invocations that will create a new set of mesh workgroups 19 task shader is present, triggers the execution of mesh shader invocations. 21 Each mesh shader workgroup emits zero or more output primitives along with 28 For every workgroup issued via the drawing commands a group of task shader 35 The task shader can emit zero or more mesh workgroups to be generated. 53 The task shader can also pass user-defined data to all mesh shader 69 If a task shader exists, the mesh assembler creates a variable amount of 71 If there is no task shader, the drawing commands emit the mesh shader 77 The only inputs available to the mesh shader are variables identifying the [all …]
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/appendices/ |
D | VK_AMD_shader_info.adoc | 19 shader which is part of a pipeline. 20 This information may include shader disassembly, shader binary and various 21 statistics about a shader's resource usage. 35 This example extracts the register usage of a fragment shader within a 63 attempting to query and print shader disassembly about the fragment shader: 75 printf("Fragment shader disassembly:\n");
|
D | VK_EXT_shader_object.adoc | 48 represents a single compiled shader stage. 65 // SPIR-V shader code for a vertex shader, along with its size in bytes 69 // SPIR-V shader code for a fragment shader, along with its size in bytes 129 // Vertex and fragment shader objects created above 166 // Graphics shader objects may only be used to draw inside dynamic render pass 182 // SPIR-V shader code for vertex shaders, along with their sizes in bytes 186 // SPIR-V shader code for a geometry shader, along with its size in bytes 190 // SPIR-V shader code for fragment shaders, along with their sizes in bytes 269 // Suppose we want this vertex shader to be able to be followed by 270 // either a geometry shader or fragment shader: [all …]
|
D | VK_NV_compute_shader_derivatives.adoc | 30 Derivatives will be computed via differencing over a 2x2 group of shader 32 The code:DerivativeGroupQuadsNV execution mode assembles shader invocations 35 The code:DerivativeGroupLinearNV execution mode assembles shader invocations 50 (1) Should we specify that the groups of four shader invocations used for 51 derivatives in a compute shader are the same groups of four invocations that 52 form a "`quad`" in shader subgroups?
|
D | VK_EXT_shader_subgroup_vote.adoc | 35 shader invocations that are running concurrently (a _subgroup_). 39 When using GLSL source-based shader languages, the following shader 49 individual shader invocations are assigned to subgroups. 51 shader _local workgroup_ -- any pair of shader invocations in a compute 56 workgroup), but many implementations will also group non-compute shader 75 In this case, the shader executes *both* the fast and the general path and 93 For example, shader code might want to evaluate a complex function 99 In another example, shader code might want to evaluate a complex function
|
D | VK_KHR_ray_tracing_maintenance1.adoc | 41 This extension provides access to built-in code:CullMaskKHR shader 44 This new shader variable is accessible in the intersection, any-hit, 45 closest-hit and miss shader stages. 52 access to a <<shader-binding-table, shader binding table>> in any 53 shader pipeline stage 61 flink:vkCmdTraceRaysIndirect2KHR, which sources the shader binding table
|
D | VK_NV_geometry_shader_passthrough.adoc | 28 primitive sent through the graphics pipeline using a programmable shader. 30 In this use case, the bulk of the geometry shader code simply copies inputs 39 Adding this to a geometry shader input variable specifies that the values of 64 1) Should we require or allow a passthrough geometry shader to specify the 70 source shader, but SPIR-V is lower-level. 89 In Vulkan all SPIR-V shader inputs (except built-ins) must also have 99 Consider the following simple geometry shader in unextended GLSL: 129 In this shader, the inputs code:gl_Position, code:Inputs.texcoord, and 132 The only "`interesting`" work done by the geometry shader is computing and 135 The following geometry shader, using this extension, is equivalent: [all …]
|
D | VK_QCOM_render_pass_shader_resolve.adoc | 22 This extension allows a shader resolve to replace fixed-function resolve. 28 than shader resolve for such simple filters. 30 Shader resolve allows a shader writer to create complex, non-linear 58 shader resolve to resolve to a single sample buffer. 60 3) Should a shader resolve subpass be the last subpass in a render pass? 77 shader resolve subpass. 89 ** Clarified that a shader resolve subpass is the last subpass in a
|
/hardware/google/gfxstream/include/OpenGLESDispatch/ |
D | gles2_only_functions.h | 13 X(GLboolean, glIsShader, (GLuint shader), (shader)) \ 47 X(void, glAttachShader, (GLuint program, GLuint shader), (program, shader)) \ 49 X(void, glCompileShader, (GLuint shader), (shader)) \ 53 X(void, glDeleteShader, (GLuint shader), (shader)) \ 54 X(void, glDetachShader, (GLuint program, GLuint shader), (program, shader)) \ 64 X(void, glGetShaderiv, (GLuint shader, GLenum pname, GLint* params), (shader, pname, params)) \ 65 …X(void, glGetShaderInfoLog, (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog), (s… 66 …X(void, glGetShaderSource, (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source), (sha… 70 …X(void, glShaderSource, (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* l…
|
/hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/chapters/commonvalidity/ |
D | draw_mesh_limits_common.adoc | 10 contains a shader using the code:TaskEXT {ExecutionModel}, 15 contains a shader using the code:TaskEXT {ExecutionModel}, 20 contains a shader using the code:TaskEXT {ExecutionModel}, 25 contains a shader using the code:TaskEXT {ExecutionModel}, The product 31 does not contain a shader using the code:TaskEXT {ExecutionModel}, 36 does not contain a shader using the code:TaskEXT {ExecutionModel}, 41 does not contain a shader using the code:TaskEXT {ExecutionModel}, 46 does not contain a shader using the code:TaskEXT {ExecutionModel}, The
|
D | pipeline_create_info_common.adoc | 29 If a push constant block is declared in a shader, a push constant range 30 in pname:layout must: match both the shader stage and range 33 shader, a descriptor slot in pname:layout must: match the shader stage 37 shader, a descriptor slot in pname:layout must: match the descriptor 43 shader, and the descriptor type is not 48 If a <<interfaces-resources,resource variables>> is declared in a shader
|
/hardware/google/gfxstream/common/detector/ |
D | Gles.cpp | 107 GLuint shader = glCreateShader(shader_type); in CreateShader() local 110 glShaderSource(shader, 1, &shader_source_cstr, nullptr); in CreateShader() 111 glCompileShader(shader); in CreateShader() 114 glGetShaderiv(shader, GL_COMPILE_STATUS, &status); in CreateShader() 118 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &log_length); in CreateShader() 121 glGetShaderInfoLog(shader, log_length, nullptr, log.data()); in CreateShader() 123 glDeleteShader(shader); in CreateShader() 127 return shader; in CreateShader()
|
/hardware/google/gfxstream/host/gl/OpenGLESDispatch/ |
D | gles2_only_dispatch_logging_wrappers.impl | 29 GLboolean glIsShader_dispatchLoggingWrapper(GLuint shader) { 30 DISPATCH_DEBUG_LOG("glIsShader(shader:%d)", shader); 31 return GLDispatch::glIsShader_underlying(shader); 199 void glAttachShader_dispatchLoggingWrapper(GLuint program, GLuint shader) { 200 DISPATCH_DEBUG_LOG("glAttachShader(program:%d, shader:%d)", program, shader); 201 GLDispatch::glAttachShader_underlying(program, shader); 209 void glCompileShader_dispatchLoggingWrapper(GLuint shader) { 210 DISPATCH_DEBUG_LOG("glCompileShader(shader:%d)", shader); 211 GLDispatch::glCompileShader_underlying(shader); 229 void glDeleteShader_dispatchLoggingWrapper(GLuint shader) { [all …]
|
/hardware/libhardware/tests/hwc/ |
D | util.c | 49 GLuint shader; in load_shader() local 51 if (!(shader = glCreateShader(shaderType))) in load_shader() 54 glShaderSource(shader, 1, &src, NULL); in load_shader() 55 glCompileShader(shader); in load_shader() 56 glGetShaderiv(shader, GL_COMPILE_STATUS, &status); in load_shader() 59 return shader; in load_shader() 61 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &len); in load_shader() 65 glGetShaderInfoLog(shader, len, NULL, msg); in load_shader() 71 glDeleteShader(shader); in load_shader()
|
/hardware/google/gfxstream/guest/OpenglCodecCommon/include/gfxstream/guest/ |
D | GLSharedGroup.h | 120 bool attachShader(GLuint shader, GLenum shaderType); 121 bool detachShader(GLuint shader); 188 void refShaderDataLocked(GLuint shader); 189 void unrefShaderDataLocked(GLuint shader); 217 bool attachShader(GLuint program, GLuint shader); 218 bool detachShader(GLuint program, GLuint shader); 219 bool detachShaderLocked(GLuint program, GLuint shader); 229 bool isShader(GLuint shader); 230 bool addShaderData(GLuint shader, GLenum shaderType); 232 ShaderData* getShaderData(GLuint shader); [all …]
|
/hardware/google/gfxstream/guest/OpenglCodecCommon/ |
D | GLSharedGroup.cpp | 191 bool ProgramData::attachShader(GLuint shader, GLenum shaderType) { in attachShader() argument 195 if (m_shaders[i] == shader) { in attachShader() 201 m_shaders.push_back(shader); in attachShader() 206 bool ProgramData::detachShader(GLuint shader) { in detachShader() argument 210 if (m_shaders[i] == shader) { in detachShader() 488 bool GLSharedGroup::attachShader(GLuint program, GLuint shader) { in attachShader() argument 492 ShaderData* sData = findObjectOrDefault(m_shaders, shader); in attachShader() 497 res = pData->attachShader(shader, sData->shaderType); in attachShader() 499 refShaderDataLocked(shader); in attachShader() 506 bool GLSharedGroup::detachShader(GLuint program, GLuint shader) { in detachShader() argument [all …]
|