Cogs.Core
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Cogs::BindGroupsWebGPU Struct Reference
Inheritance diagram for Cogs::BindGroupsWebGPU:
Cogs::IBindGroups

Public Member Functions

void initialize (GraphicsDeviceWebGPU *graphicsDevice)
 
virtual BindGroupHandle createBindGroup (const BindGroupDescription *desc) override
 
virtual BindGroupConstantBufferBindingHandle getConstantBufferBinding (BindGroupHandle handle, const StringView &name) override
 
virtual BindGroupTextureBindingHandle getTextureBinding (BindGroupHandle handle, const StringView &name) override
 
virtual BindGroupSamplerStateBindingHandle getSamplerBinding (BindGroupHandle handle, const StringView &name) override
 
virtual bool isCompatable (BindGroupHandle handle, const BindGroupDescription &desc) override
 
virtual bool setTexture (BindGroupHandle handle, BindGroupTextureBindingHandle bindig, const TextureHandle textureHandle) override
 
virtual bool setTexture (BindGroupHandle handle, BindGroupTextureBindingHandle bindig, const TextureViewHandle textureViewHandle) override
 
virtual bool setSamplerState (BindGroupHandle handle, BindGroupSamplerStateBindingHandle bindig, SamplerStateHandle samplerStateHandle) override
 
virtual bool setConstantBuffer (BindGroupHandle handle, BindGroupConstantBufferBindingHandle bindig, BufferHandle bufferHandle, const uint32_t offset=0, const uint32_t size=~0u) override
 
bool isCompatable (BindGroupHandle handle, size_t descHash)
 Not part of IBindGroups - callers must hold a BindGroupsWebGPU.
 
virtual void releaseBindGroup (BindGroupHandle handle) override
 
WGPUBindGroup getNativeBindGroup (BindGroupHandle handle)
 
- Public Member Functions inherited from Cogs::IBindGroups
virtual void annotate (BindGroupHandle handle, const StringView &name)
 Associate a name with an object for use in graphics debugging.
 
virtual BindGroupHandle createBindGroup (const BindGroupDescription *desc)=0
 
virtual BindGroupConstantBufferBindingHandle getConstantBufferBinding (BindGroupHandle handle, const StringView &name)=0
 
virtual BindGroupTextureBindingHandle getTextureBinding (BindGroupHandle handle, const StringView &name)=0
 
virtual BindGroupSamplerStateBindingHandle getSamplerBinding (BindGroupHandle handle, const StringView &name)=0
 
virtual bool isCompatable (BindGroupHandle handle, const BindGroupDescription &desc)=0
 
virtual bool setTexture (BindGroupHandle handle, BindGroupTextureBindingHandle bindig, const TextureHandle textureHandle)=0
 
virtual bool setTexture (BindGroupHandle handle, BindGroupTextureBindingHandle bindig, const TextureViewHandle textureHandle)=0
 
virtual bool setSamplerState (BindGroupHandle handle, BindGroupSamplerStateBindingHandle bindig, SamplerStateHandle samplerStateHandle)=0
 
virtual bool setConstantBuffer (BindGroupHandle handle, BindGroupConstantBufferBindingHandle bindig, BufferHandle bufferHandle, const uint32_t offset=0, const uint32_t size=~0u)=0
 
virtual void releaseBindGroup (BindGroupHandle handle)=0
 

Static Public Member Functions

static WGPUBindGroupLayout createBindGroupLayout (GraphicsDeviceWebGPU *device, const BindGroupDescription &desc)
 

Public Attributes

GraphicsDeviceWebGPUgraphicsDevice = nullptr
 
SafeResourceMap< BindGroupHandle, BindGroupWebGPUbind_groups
 

Detailed Description

Definition at line 40 of file BindGroupsWebGPU.h.

Member Function Documentation

◆ createBindGroup()

BindGroupHandle Cogs::BindGroupsWebGPU::createBindGroup ( const BindGroupDescription desc)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 204 of file BindGroupsWebGPU.cpp.

◆ createBindGroupLayout()

WGPUBindGroupLayout Cogs::BindGroupsWebGPU::createBindGroupLayout ( GraphicsDeviceWebGPU device,
const BindGroupDescription desc 
)
static

Definition at line 154 of file BindGroupsWebGPU.cpp.

◆ getConstantBufferBinding()

BindGroupConstantBufferBindingHandle Cogs::BindGroupsWebGPU::getConstantBufferBinding ( BindGroupHandle  handle,
const StringView name 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 231 of file BindGroupsWebGPU.cpp.

◆ getNativeBindGroup()

WGPUBindGroup Cogs::BindGroupsWebGPU::getNativeBindGroup ( BindGroupHandle  handle)

Definition at line 512 of file BindGroupsWebGPU.cpp.

◆ getSamplerBinding()

BindGroupSamplerStateBindingHandle Cogs::BindGroupsWebGPU::getSamplerBinding ( BindGroupHandle  handle,
const StringView name 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 270 of file BindGroupsWebGPU.cpp.

◆ getTextureBinding()

BindGroupTextureBindingHandle Cogs::BindGroupsWebGPU::getTextureBinding ( BindGroupHandle  handle,
const StringView name 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 250 of file BindGroupsWebGPU.cpp.

◆ initialize()

void Cogs::BindGroupsWebGPU::initialize ( GraphicsDeviceWebGPU graphicsDevice)

Definition at line 9 of file BindGroupsWebGPU.cpp.

◆ isCompatable() [1/2]

bool Cogs::BindGroupsWebGPU::isCompatable ( BindGroupHandle  handle,
const BindGroupDescription desc 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 289 of file BindGroupsWebGPU.cpp.

◆ isCompatable() [2/2]

bool Cogs::BindGroupsWebGPU::isCompatable ( BindGroupHandle  handle,
size_t  descHash 
)

Not part of IBindGroups - callers must hold a BindGroupsWebGPU.

Definition at line 293 of file BindGroupsWebGPU.cpp.

◆ releaseBindGroup()

void Cogs::BindGroupsWebGPU::releaseBindGroup ( BindGroupHandle  handle)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 449 of file BindGroupsWebGPU.cpp.

◆ setConstantBuffer()

bool Cogs::BindGroupsWebGPU::setConstantBuffer ( BindGroupHandle  handle,
BindGroupConstantBufferBindingHandle  bindig,
BufferHandle  bufferHandle,
const uint32_t  offset = 0,
const uint32_t  size = ~0u 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 408 of file BindGroupsWebGPU.cpp.

◆ setSamplerState()

bool Cogs::BindGroupsWebGPU::setSamplerState ( BindGroupHandle  handle,
BindGroupSamplerStateBindingHandle  bindig,
SamplerStateHandle  samplerStateHandle 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 373 of file BindGroupsWebGPU.cpp.

◆ setTexture() [1/2]

bool Cogs::BindGroupsWebGPU::setTexture ( BindGroupHandle  handle,
BindGroupTextureBindingHandle  bindig,
const TextureHandle  textureHandle 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 302 of file BindGroupsWebGPU.cpp.

◆ setTexture() [2/2]

bool Cogs::BindGroupsWebGPU::setTexture ( BindGroupHandle  handle,
BindGroupTextureBindingHandle  bindig,
const TextureViewHandle  textureViewHandle 
)
overridevirtual

Implements Cogs::IBindGroups.

Definition at line 338 of file BindGroupsWebGPU.cpp.

Member Data Documentation

◆ bind_groups

SafeResourceMap<BindGroupHandle, BindGroupWebGPU> Cogs::BindGroupsWebGPU::bind_groups

Definition at line 62 of file BindGroupsWebGPU.h.

◆ graphicsDevice

GraphicsDeviceWebGPU* Cogs::BindGroupsWebGPU::graphicsDevice = nullptr

Definition at line 61 of file BindGroupsWebGPU.h.


The documentation for this struct was generated from the following files: