#! [allow(unused_variables)]
use crate ::TlasInstance;
use std::ops::Range;
#[ derive(Clone, Debug)]
pub struct Api;
pub struct Context;
#[ derive(Debug)]
pub struct Encoder;
#[ derive(Debug)]
pub struct Resource;
type DeviceResult<T> = Result<T, crate ::DeviceError>;
impl crate ::Api for Api {
type Instance = Context;
type Surface = Context;
type Adapter = Context;
type Device = Context;
type Queue = Context;
type CommandEncoder = Encoder;
type CommandBuffer = Resource;
type Buffer = Resource;
type Texture = Resource;
type SurfaceTexture = Resource;
type TextureView = Resource;
type Sampler = Resource;
type QuerySet = Resource;
type Fence = Resource;
type AccelerationStructure = Resource;
type PipelineCache = Resource;
type BindGroupLayout = Resource;
type BindGroup = Resource;
type PipelineLayout = Resource;
type ShaderModule = Resource;
type RenderPipeline = Resource;
type ComputePipeline = Resource;
}
crate ::impl_dyn_resource!(Context, Encoder, Resource);
impl crate ::DynAccelerationStructure for Resource {}
impl crate ::DynBindGroup for Resource {}
impl crate ::DynBindGroupLayout for Resource {}
impl crate ::DynBuffer for Resource {}
impl crate ::DynCommandBuffer for Resource {}
impl crate ::DynComputePipeline for Resource {}
impl crate ::DynFence for Resource {}
impl crate ::DynPipelineCache for Resource {}
impl crate ::DynPipelineLayout for Resource {}
impl crate ::DynQuerySet for Resource {}
impl crate ::DynRenderPipeline for Resource {}
impl crate ::DynSampler for Resource {}
impl crate ::DynShaderModule for Resource {}
impl crate ::DynSurfaceTexture for Resource {}
impl crate ::DynTexture for Resource {}
impl crate ::DynTextureView for Resource {}
impl std::borrow::Borrow<dyn crate ::DynTexture> for Resource {
fn borrow(&self ) -> &dyn crate ::DynTexture {
self
}
}
impl crate ::Instance for Context {
type A = Api;
unsafe fn init(desc: &crate ::InstanceDescriptor) -> Result<Self , crate ::InstanceError> {
Ok(Context)
}
unsafe fn create_surface(
&self ,
_display_handle: raw_window_handle::RawDisplayHandle,
_window_handle: raw_window_handle::RawWindowHandle,
) -> Result<Context, crate ::InstanceError> {
Ok(Context)
}
unsafe fn enumerate_adapters(
&self ,
_surface_hint: Option<&Context>,
) -> Vec<crate ::ExposedAdapter<Api>> {
Vec::new()
}
}
impl crate ::Surface for Context {
type A = Api;
unsafe fn configure(
&self ,
device: &Context,
config: &crate ::SurfaceConfiguration,
) -> Result<(), crate ::SurfaceError> {
Ok(())
}
unsafe fn unconfigure(&self , device: &Context) {}
unsafe fn acquire_texture(
&self ,
timeout: Option<std::time::Duration>,
fence: &Resource,
) -> Result<Option<crate ::AcquiredSurfaceTexture<Api>>, crate ::SurfaceError> {
Ok(None)
}
unsafe fn discard_texture(&self , texture: Resource) {}
}
impl crate ::Adapter for Context {
type A = Api;
unsafe fn open(
&self ,
features: wgt::Features,
_limits: &wgt::Limits,
_memory_hints: &wgt::MemoryHints,
) -> DeviceResult<crate ::OpenDevice<Api>> {
Err(crate ::DeviceError::Lost)
}
unsafe fn texture_format_capabilities(
&self ,
format: wgt::TextureFormat,
) -> crate ::TextureFormatCapabilities {
crate ::TextureFormatCapabilities::empty()
}
unsafe fn surface_capabilities(&self , surface: &Context) -> Option<crate ::SurfaceCapabilities> {
None
}
unsafe fn get_presentation_timestamp(&self ) -> wgt::PresentationTimestamp {
wgt::PresentationTimestamp::INVALID_TIMESTAMP
}
}
impl crate ::Queue for Context {
type A = Api;
unsafe fn submit(
&self ,
command_buffers: &[&Resource],
surface_textures: &[&Resource],
signal_fence: (&mut Resource, crate ::FenceValue),
) -> DeviceResult<()> {
Ok(())
}
unsafe fn present(
&self ,
surface: &Context,
texture: Resource,
) -> Result<(), crate ::SurfaceError> {
Ok(())
}
unsafe fn get_timestamp_period(&self ) -> f32 {
1 .0
}
}
impl crate ::Device for Context {
type A = Api;
unsafe fn create_buffer(&self , desc: &crate ::BufferDescriptor) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_buffer(&self , buffer: Resource) {}
unsafe fn add_raw_buffer(&self , _buffer: &Resource) {}
unsafe fn map_buffer(
&self ,
buffer: &Resource,
range: crate ::MemoryRange,
) -> DeviceResult<crate ::BufferMapping> {
Err(crate ::DeviceError::Lost)
}
unsafe fn unmap_buffer(&self , buffer: &Resource) {}
unsafe fn flush_mapped_ranges<I>(&self , buffer: &Resource, ranges: I) {}
unsafe fn invalidate_mapped_ranges<I>(&self , buffer: &Resource, ranges: I) {}
unsafe fn create_texture(&self , desc: &crate ::TextureDescriptor) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_texture(&self , texture: Resource) {}
unsafe fn add_raw_texture(&self , _texture: &Resource) {}
unsafe fn create_texture_view(
&self ,
texture: &Resource,
desc: &crate ::TextureViewDescriptor,
) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_texture_view(&self , view: Resource) {}
unsafe fn create_sampler(&self , desc: &crate ::SamplerDescriptor) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_sampler(&self , sampler: Resource) {}
unsafe fn create_command_encoder(
&self ,
desc: &crate ::CommandEncoderDescriptor<Context>,
) -> DeviceResult<Encoder> {
Ok(Encoder)
}
unsafe fn create_bind_group_layout(
&self ,
desc: &crate ::BindGroupLayoutDescriptor,
) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_bind_group_layout(&self , bg_layout: Resource) {}
unsafe fn create_pipeline_layout(
&self ,
desc: &crate ::PipelineLayoutDescriptor<Resource>,
) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_pipeline_layout(&self , pipeline_layout: Resource) {}
unsafe fn create_bind_group(
&self ,
desc: &crate ::BindGroupDescriptor<Resource, Resource, Resource, Resource, Resource>,
) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_bind_group(&self , group: Resource) {}
unsafe fn create_shader_module(
&self ,
desc: &crate ::ShaderModuleDescriptor,
shader: crate ::ShaderInput,
) -> Result<Resource, crate ::ShaderError> {
Ok(Resource)
}
unsafe fn destroy_shader_module(&self , module: Resource) {}
unsafe fn create_render_pipeline(
&self ,
desc: &crate ::RenderPipelineDescriptor<Resource, Resource, Resource>,
) -> Result<Resource, crate ::PipelineError> {
Ok(Resource)
}
unsafe fn destroy_render_pipeline(&self , pipeline: Resource) {}
unsafe fn create_compute_pipeline(
&self ,
desc: &crate ::ComputePipelineDescriptor<Resource, Resource, Resource>,
) -> Result<Resource, crate ::PipelineError> {
Ok(Resource)
}
unsafe fn destroy_compute_pipeline(&self , pipeline: Resource) {}
unsafe fn create_pipeline_cache(
&self ,
desc: &crate ::PipelineCacheDescriptor<'_>,
) -> Result<Resource, crate ::PipelineCacheError> {
Ok(Resource)
}
unsafe fn destroy_pipeline_cache(&self , cache: Resource) {}
unsafe fn create_query_set(
&self ,
desc: &wgt::QuerySetDescriptor<crate ::Label>,
) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_query_set(&self , set: Resource) {}
unsafe fn create_fence(&self ) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn destroy_fence(&self , fence: Resource) {}
unsafe fn get_fence_value(&self , fence: &Resource) -> DeviceResult<crate ::FenceValue> {
Ok(0 )
}
unsafe fn wait(
&self ,
fence: &Resource,
value: crate ::FenceValue,
timeout_ms: u32,
) -> DeviceResult<bool> {
Ok(true )
}
unsafe fn start_capture(&self ) -> bool {
false
}
unsafe fn stop_capture(&self ) {}
unsafe fn create_acceleration_structure(
&self ,
desc: &crate ::AccelerationStructureDescriptor,
) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn get_acceleration_structure_build_sizes<'a>(
&self ,
_desc: &crate ::GetAccelerationStructureBuildSizesDescriptor<'a, Resource>,
) -> crate ::AccelerationStructureBuildSizes {
Default::default()
}
unsafe fn get_acceleration_structure_device_address(
&self ,
_acceleration_structure: &Resource,
) -> wgt::BufferAddress {
Default::default()
}
unsafe fn destroy_acceleration_structure(&self , _acceleration_structure: Resource) {}
fn tlas_instance_to_bytes(&self , instance: TlasInstance) -> Vec<u8> {
vec![]
}
fn get_internal_counters(&self ) -> wgt::HalCounters {
Default::default()
}
}
impl crate ::CommandEncoder for Encoder {
type A = Api;
unsafe fn begin_encoding(&mut self , label: crate ::Label) -> DeviceResult<()> {
Ok(())
}
unsafe fn discard_encoding(&mut self ) {}
unsafe fn end_encoding(&mut self ) -> DeviceResult<Resource> {
Ok(Resource)
}
unsafe fn reset_all<I>(&mut self , command_buffers: I) {}
unsafe fn transition_buffers<'a, T>(&mut self, barriers: T)
where
T: Iterator<Item = crate ::BufferBarrier<'a, Resource>>,
{
}
unsafe fn transition_textures<'a, T>(&mut self, barriers: T)
where
T: Iterator<Item = crate ::TextureBarrier<'a, Resource>>,
{
}
unsafe fn clear_buffer(&mut self , buffer: &Resource, range: crate ::MemoryRange) {}
unsafe fn copy_buffer_to_buffer<T>(&mut self , src: &Resource, dst: &Resource, regions: T) {}
#[ cfg(webgl)]
unsafe fn copy_external_image_to_texture<T>(
&mut self ,
src: &wgt::CopyExternalImageSourceInfo,
dst: &Resource,
dst_premultiplication: bool,
regions: T,
) where
T: Iterator<Item = crate ::TextureCopy>,
{
}
unsafe fn copy_texture_to_texture<T>(
&mut self ,
src: &Resource,
src_usage: crate ::TextureUses,
dst: &Resource,
regions: T,
) {
}
unsafe fn copy_buffer_to_texture<T>(&mut self , src: &Resource, dst: &Resource, regions: T) {}
unsafe fn copy_texture_to_buffer<T>(
&mut self ,
src: &Resource,
src_usage: crate ::TextureUses,
dst: &Resource,
regions: T,
) {
}
unsafe fn begin_query(&mut self , set: &Resource, index: u32) {}
unsafe fn end_query(&mut self , set: &Resource, index: u32) {}
unsafe fn write_timestamp(&mut self , set: &Resource, index: u32) {}
unsafe fn reset_queries(&mut self , set: &Resource, range: Range<u32>) {}
unsafe fn copy_query_results(
&mut self ,
set: &Resource,
range: Range<u32>,
buffer: &Resource,
offset: wgt::BufferAddress,
stride: wgt::BufferSize,
) {
}
// render
unsafe fn begin_render_pass(&mut self , desc: &crate ::RenderPassDescriptor<Resource, Resource>) {
}
unsafe fn end_render_pass(&mut self ) {}
unsafe fn set_bind_group(
&mut self ,
layout: &Resource,
index: u32,
group: &Resource,
dynamic_offsets: &[wgt::DynamicOffset],
) {
}
unsafe fn set_push_constants(
&mut self ,
layout: &Resource,
stages: wgt::ShaderStages,
offset_bytes: u32,
data: &[u32],
) {
}
unsafe fn insert_debug_marker(&mut self , label: &str) {}
unsafe fn begin_debug_marker(&mut self , group_label: &str) {}
unsafe fn end_debug_marker(&mut self ) {}
unsafe fn set_render_pipeline(&mut self , pipeline: &Resource) {}
unsafe fn set_index_buffer<'a>(
&mut self ,
binding: crate ::BufferBinding<'a, Resource>,
format: wgt::IndexFormat,
) {
}
unsafe fn set_vertex_buffer<'a>(
&mut self ,
index: u32,
binding: crate ::BufferBinding<'a, Resource>,
) {
}
unsafe fn set_viewport(&mut self , rect: &crate ::Rect<f32>, depth_range: Range<f32>) {}
unsafe fn set_scissor_rect(&mut self , rect: &crate ::Rect<u32>) {}
unsafe fn set_stencil_reference(&mut self , value: u32) {}
unsafe fn set_blend_constants(&mut self , color: &[f32; 4 ]) {}
unsafe fn draw(
&mut self ,
first_vertex: u32,
vertex_count: u32,
first_instance: u32,
instance_count: u32,
) {
}
unsafe fn draw_indexed(
&mut self ,
first_index: u32,
index_count: u32,
base_vertex: i32,
first_instance: u32,
instance_count: u32,
) {
}
unsafe fn draw_indirect(
&mut self ,
buffer: &Resource,
offset: wgt::BufferAddress,
draw_count: u32,
) {
}
unsafe fn draw_indexed_indirect(
&mut self ,
buffer: &Resource,
offset: wgt::BufferAddress,
draw_count: u32,
) {
}
unsafe fn draw_indirect_count(
&mut self ,
buffer: &Resource,
offset: wgt::BufferAddress,
count_buffer: &Resource,
count_offset: wgt::BufferAddress,
max_count: u32,
) {
}
unsafe fn draw_indexed_indirect_count(
&mut self ,
buffer: &Resource,
offset: wgt::BufferAddress,
count_buffer: &Resource,
count_offset: wgt::BufferAddress,
max_count: u32,
) {
}
// compute
unsafe fn begin_compute_pass(&mut self , desc: &crate ::ComputePassDescriptor<Resource>) {}
unsafe fn end_compute_pass(&mut self ) {}
unsafe fn set_compute_pipeline(&mut self , pipeline: &Resource) {}
unsafe fn dispatch(&mut self , count: [u32; 3 ]) {}
unsafe fn dispatch_indirect(&mut self , buffer: &Resource, offset: wgt::BufferAddress) {}
unsafe fn build_acceleration_structures<'a, T>(
&mut self ,
_descriptor_count: u32,
descriptors: T,
) where
Api: 'a,
T: IntoIterator<Item = crate ::BuildAccelerationStructureDescriptor<'a, Resource, Resource>>,
{
}
unsafe fn place_acceleration_structure_barrier(
&mut self ,
_barriers: crate ::AccelerationStructureBarrier,
) {
}
}
Messung V0.5 in Prozent C=100 H=62 G=83
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-18)
¤
*© Formatika GbR, Deutschland