mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 08:27:05 +00:00
Descriptorize ShaderModule
Change-Id: Ic79d00380f583485de0fb05bd47b1f869919ebe6
This commit is contained in:
committed by
Corentin Wallez
parent
3ccde9ce72
commit
df6710358b
@@ -91,8 +91,9 @@ namespace dawn_native { namespace opengl {
|
||||
ResultOrError<SamplerBase*> Device::CreateSamplerImpl(const SamplerDescriptor* descriptor) {
|
||||
return new Sampler(this, descriptor);
|
||||
}
|
||||
ShaderModuleBase* Device::CreateShaderModule(ShaderModuleBuilder* builder) {
|
||||
return new ShaderModule(builder);
|
||||
ResultOrError<ShaderModuleBase*> Device::CreateShaderModuleImpl(
|
||||
const ShaderModuleDescriptor* descriptor) {
|
||||
return new ShaderModule(this, descriptor);
|
||||
}
|
||||
SwapChainBase* Device::CreateSwapChain(SwapChainBuilder* builder) {
|
||||
return new SwapChain(builder);
|
||||
|
||||
@@ -43,7 +43,6 @@ namespace dawn_native { namespace opengl {
|
||||
RenderPassDescriptorBase* CreateRenderPassDescriptor(
|
||||
RenderPassDescriptorBuilder* builder) override;
|
||||
RenderPipelineBase* CreateRenderPipeline(RenderPipelineBuilder* builder) override;
|
||||
ShaderModuleBase* CreateShaderModule(ShaderModuleBuilder* builder) override;
|
||||
SwapChainBase* CreateSwapChain(SwapChainBuilder* builder) override;
|
||||
TextureBase* CreateTexture(TextureBuilder* builder) override;
|
||||
TextureViewBase* CreateTextureView(TextureViewBuilder* builder) override;
|
||||
@@ -57,6 +56,8 @@ namespace dawn_native { namespace opengl {
|
||||
const PipelineLayoutDescriptor* descriptor) override;
|
||||
ResultOrError<QueueBase*> CreateQueueImpl() override;
|
||||
ResultOrError<SamplerBase*> CreateSamplerImpl(const SamplerDescriptor* descriptor) override;
|
||||
ResultOrError<ShaderModuleBase*> CreateShaderModuleImpl(
|
||||
const ShaderModuleDescriptor* descriptor) override;
|
||||
};
|
||||
|
||||
}} // namespace dawn_native::opengl
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include "common/Assert.h"
|
||||
#include "common/Platform.h"
|
||||
#include "dawn_native/opengl/DeviceGL.h"
|
||||
|
||||
#include <spirv-cross/spirv_glsl.hpp>
|
||||
|
||||
@@ -46,8 +47,9 @@ namespace dawn_native { namespace opengl {
|
||||
return o.str();
|
||||
}
|
||||
|
||||
ShaderModule::ShaderModule(ShaderModuleBuilder* builder) : ShaderModuleBase(builder) {
|
||||
spirv_cross::CompilerGLSL compiler(builder->AcquireSpirv());
|
||||
ShaderModule::ShaderModule(Device* device, const ShaderModuleDescriptor* descriptor)
|
||||
: ShaderModuleBase(device, descriptor) {
|
||||
spirv_cross::CompilerGLSL compiler(descriptor->code, descriptor->codeSize);
|
||||
spirv_cross::CompilerGLSL::Options options;
|
||||
|
||||
// TODO(cwallez@chromium.org): discover the backing context version and use that.
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace dawn_native { namespace opengl {
|
||||
|
||||
class ShaderModule : public ShaderModuleBase {
|
||||
public:
|
||||
ShaderModule(ShaderModuleBuilder* builder);
|
||||
ShaderModule(Device* device, const ShaderModuleDescriptor* descriptor);
|
||||
|
||||
using CombinedSamplerInfo = std::vector<CombinedSampler>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user