Skip to content

Commit c2c744b

Browse files
committed
webgpu: Implement driver limits
1 parent 1e246d1 commit c2c744b

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

filament/backend/src/webgpu/WebGPUDriver.cpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -609,11 +609,24 @@ size_t WebGPUDriver::getMaxUniformBufferSize() {
609609
}
610610

611611
size_t WebGPUDriver::getMaxTextureSize(const SamplerType target) {
612-
return 2048u;
612+
size_t result = 2048u;
613+
switch (target) {
614+
case SamplerType::SAMPLER_2D:
615+
case SamplerType::SAMPLER_2D_ARRAY:
616+
case SamplerType::SAMPLER_EXTERNAL:
617+
case SamplerType::SAMPLER_CUBEMAP:
618+
case SamplerType::SAMPLER_CUBEMAP_ARRAY:
619+
result = mDeviceLimits.maxTextureDimension2D;
620+
break;
621+
case SamplerType::SAMPLER_3D:
622+
result = mDeviceLimits.maxTextureDimension3D;
623+
break;
624+
}
625+
return result;
613626
}
614627

615628
size_t WebGPUDriver::getMaxArrayTextureLayers() {
616-
return 256u;
629+
return mDeviceLimits.maxTextureArrayLayers;
617630
}
618631

619632
void WebGPUDriver::updateIndexBuffer(Handle<HwIndexBuffer> indexBufferHandle,

0 commit comments

Comments
 (0)