mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader: Add basic support for transform feedback.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
committed by
Alexandre Julliard
parent
731e11902a
commit
3d80b3f4bd
@@ -20,6 +20,7 @@
|
||||
#define __VKD3D_SHADER_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <vkd3d_types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -31,6 +32,7 @@ enum vkd3d_shader_structure_type
|
||||
VKD3D_SHADER_STRUCTURE_TYPE_SHADER_INTERFACE,
|
||||
VKD3D_SHADER_STRUCTURE_TYPE_COMPILE_ARGUMENTS,
|
||||
VKD3D_SHADER_STRUCTURE_TYPE_SCAN_INFO,
|
||||
VKD3D_SHADER_STRUCTURE_TYPE_TRANSFORM_FEEDBACK_INFO,
|
||||
|
||||
VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_STRUCTURE_TYPE),
|
||||
};
|
||||
@@ -151,6 +153,28 @@ struct vkd3d_shader_interface
|
||||
unsigned int uav_counter_count;
|
||||
};
|
||||
|
||||
struct vkd3d_shader_transform_feedback_element
|
||||
{
|
||||
unsigned int stream_index;
|
||||
const char *semantic_name;
|
||||
unsigned int semantic_index;
|
||||
uint8_t component_index;
|
||||
uint8_t component_count;
|
||||
uint8_t output_slot;
|
||||
};
|
||||
|
||||
/* Extends vkd3d_shader_interface. */
|
||||
struct vkd3d_shader_transform_feedback_info
|
||||
{
|
||||
enum vkd3d_shader_structure_type type;
|
||||
const void *next;
|
||||
|
||||
const struct vkd3d_shader_transform_feedback_element *elements;
|
||||
unsigned int element_count;
|
||||
const unsigned int *buffer_strides;
|
||||
unsigned int buffer_stride_count;
|
||||
};
|
||||
|
||||
enum vkd3d_shader_target
|
||||
{
|
||||
VKD3D_SHADER_TARGET_NONE,
|
||||
|
Reference in New Issue
Block a user