Update to wgpu-native v0.19.4.1
This commit is contained in:
parent
b436e7b2d8
commit
fffd2c70e6
5 changed files with 30 additions and 8 deletions
19
libs/wgpu/include/psemek/wgpu/external/wgpu.h
vendored
19
libs/wgpu/include/psemek/wgpu/external/wgpu.h
vendored
|
|
@ -14,6 +14,7 @@ typedef enum WGPUNativeSType {
|
|||
WGPUSType_BindGroupEntryExtras = 0x00030007,
|
||||
WGPUSType_BindGroupLayoutEntryExtras = 0x00030008,
|
||||
WGPUSType_QuerySetDescriptorExtras = 0x00030009,
|
||||
WGPUSType_SurfaceConfigurationExtras = 0x0003000A,
|
||||
WGPUNativeSType_Force32 = 0x7FFFFFFF
|
||||
} WGPUNativeSType;
|
||||
|
||||
|
|
@ -26,6 +27,8 @@ typedef enum WGPUNativeFeature {
|
|||
WGPUNativeFeature_TextureBindingArray = 0x00030006,
|
||||
WGPUNativeFeature_SampledTextureAndStorageBufferArrayNonUniformIndexing = 0x00030007,
|
||||
WGPUNativeFeature_PipelineStatisticsQuery = 0x00030008,
|
||||
WGPUNativeFeature_StorageResourceBindingArray = 0x00030009,
|
||||
WGPUNativeFeature_PartiallyBoundBindingArray = 0x0003000A,
|
||||
WGPUNativeFeature_Force32 = 0x7FFFFFFF
|
||||
} WGPUNativeFeature;
|
||||
|
||||
|
|
@ -131,8 +134,8 @@ typedef struct WGPUPushConstantRange {
|
|||
|
||||
typedef struct WGPUPipelineLayoutExtras {
|
||||
WGPUChainedStruct chain;
|
||||
uint32_t pushConstantRangeCount;
|
||||
WGPUPushConstantRange* pushConstantRanges;
|
||||
size_t pushConstantRangeCount;
|
||||
WGPUPushConstantRange const * pushConstantRanges;
|
||||
} WGPUPipelineLayoutExtras;
|
||||
|
||||
typedef uint64_t WGPUSubmissionIndex;
|
||||
|
|
@ -159,7 +162,6 @@ typedef struct WGPURegistryReport {
|
|||
size_t numAllocated;
|
||||
size_t numKeptFromUser;
|
||||
size_t numReleasedFromUser;
|
||||
size_t numDestroyedFromUser;
|
||||
size_t numError;
|
||||
size_t elementSize;
|
||||
} WGPURegistryReport;
|
||||
|
|
@ -218,6 +220,11 @@ typedef struct WGPUQuerySetDescriptorExtras {
|
|||
size_t pipelineStatisticCount;
|
||||
} WGPUQuerySetDescriptorExtras WGPU_STRUCTURE_ATTRIBUTE;
|
||||
|
||||
typedef struct WGPUSurfaceConfigurationExtras {
|
||||
WGPUChainedStruct chain;
|
||||
WGPUBool desiredMaximumFrameLatency;
|
||||
} WGPUSurfaceConfigurationExtras WGPU_STRUCTURE_ATTRIBUTE;
|
||||
|
||||
typedef void (*WGPULogCallback)(WGPULogLevel level, char const * message, void * userdata);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
@ -225,12 +232,12 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
void wgpuGenerateReport(WGPUInstance instance, WGPUGlobalReport * report);
|
||||
size_t wgpuInstanceEnumerateAdapters(WGPUInstance instance, WGPUInstanceEnumerateAdapterOptions const * options, WGPUAdapter * adapters);
|
||||
size_t wgpuInstanceEnumerateAdapters(WGPUInstance instance, WGPU_NULLABLE WGPUInstanceEnumerateAdapterOptions const * options, WGPUAdapter * adapters);
|
||||
|
||||
WGPUSubmissionIndex wgpuQueueSubmitForIndex(WGPUQueue queue, size_t commandCount, WGPUCommandBuffer const * commands);
|
||||
|
||||
// Returns true if the queue is empty, or false if there are more queue submissions still in flight.
|
||||
WGPUBool wgpuDevicePoll(WGPUDevice device, WGPUBool wait, WGPUWrappedSubmissionIndex const * wrappedSubmissionIndex);
|
||||
WGPUBool wgpuDevicePoll(WGPUDevice device, WGPUBool wait, WGPU_NULLABLE WGPUWrappedSubmissionIndex const * wrappedSubmissionIndex);
|
||||
|
||||
void wgpuSetLogCallback(WGPULogCallback callback, void * userdata);
|
||||
|
||||
|
|
@ -238,7 +245,7 @@ void wgpuSetLogLevel(WGPULogLevel level);
|
|||
|
||||
uint32_t wgpuGetVersion(void);
|
||||
|
||||
void wgpuRenderPassEncoderSetPushConstants(WGPURenderPassEncoder encoder, WGPUShaderStageFlags stages, uint32_t offset, uint32_t sizeBytes, void* const data);
|
||||
void wgpuRenderPassEncoderSetPushConstants(WGPURenderPassEncoder encoder, WGPUShaderStageFlags stages, uint32_t offset, uint32_t sizeBytes, void const * data);
|
||||
|
||||
void wgpuRenderPassEncoderMultiDrawIndirect(WGPURenderPassEncoder encoder, WGPUBuffer buffer, uint64_t offset, uint32_t count);
|
||||
void wgpuRenderPassEncoderMultiDrawIndexedIndirect(WGPURenderPassEncoder encoder, WGPUBuffer buffer, uint64_t offset, uint32_t count);
|
||||
|
|
|
|||
|
|
@ -53,6 +53,11 @@ namespace psemek::wgpu
|
|||
std::uint32_t width;
|
||||
std::uint32_t height;
|
||||
surface::present_mode present_mode;
|
||||
|
||||
struct extras
|
||||
{
|
||||
bool desired_maximum_frame_latency;
|
||||
};
|
||||
};
|
||||
|
||||
struct capabilities
|
||||
|
|
@ -137,6 +142,7 @@ namespace psemek::wgpu
|
|||
friend struct instance;
|
||||
};
|
||||
|
||||
detail::chained_struct_ptr to_chained_struct(surface::configuration::extras const & value);
|
||||
detail::chained_struct_ptr to_chained_struct(surface::from_android_native_window const & value);
|
||||
detail::chained_struct_ptr to_chained_struct(surface::from_canvas_html_selected const & value);
|
||||
detail::chained_struct_ptr to_chained_struct(surface::from_metal_layer const & value);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace psemek::wgpu
|
|||
chained.chain.sType = (WGPUSType)WGPUSType_PipelineLayoutExtras;
|
||||
static_assert(sizeof(WGPUPushConstantRange) == sizeof(push_constant_range));
|
||||
chained.pushConstantRangeCount = value.ranges.size();
|
||||
chained.pushConstantRanges = (WGPUPushConstantRange *)value.ranges.data();
|
||||
chained.pushConstantRanges = (WGPUPushConstantRange const *)value.ranges.data();
|
||||
return detail::make_chained_struct(chained, std::move(value));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ namespace psemek::wgpu
|
|||
|
||||
void render_pass_encoder::set_push_constants(shader_stage stages, std::uint32_t offset, util::span<char const> data)
|
||||
{
|
||||
wgpuRenderPassEncoderSetPushConstants((WGPURenderPassEncoder)get(), (WGPUShaderStageFlags)stages, offset, data.size(), (void *)data.data());
|
||||
wgpuRenderPassEncoderSetPushConstants((WGPURenderPassEncoder)get(), (WGPUShaderStageFlags)stages, offset, data.size(), data.data());
|
||||
}
|
||||
|
||||
void render_pass_encoder::draw(std::uint32_t vertex_count, std::uint32_t instance_count, std::uint32_t first_vertex, std::uint32_t first_instance)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include <psemek/wgpu/surface.hpp>
|
||||
#include <psemek/wgpu/adapter.hpp>
|
||||
#include <psemek/wgpu/external/webgpu.h>
|
||||
#include <psemek/wgpu/external/wgpu.h>
|
||||
|
||||
namespace psemek::wgpu
|
||||
{
|
||||
|
|
@ -72,6 +73,14 @@ namespace psemek::wgpu
|
|||
wgpuSurfaceRelease((WGPUSurface)ptr);
|
||||
}
|
||||
|
||||
detail::chained_struct_ptr to_chained_struct(surface::configuration::extras const & value)
|
||||
{
|
||||
WGPUSurfaceConfigurationExtras chained = {};
|
||||
chained.chain.sType = (WGPUSType)WGPUSType_SurfaceConfigurationExtras;
|
||||
chained.desiredMaximumFrameLatency = value.desired_maximum_frame_latency;
|
||||
return detail::make_chained_struct(chained);
|
||||
}
|
||||
|
||||
detail::chained_struct_ptr to_chained_struct(surface::from_android_native_window const & value)
|
||||
{
|
||||
WGPUSurfaceDescriptorFromAndroidNativeWindow chained = {};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue