Hash :
fcf3a1c0
Author :
Date :
2024-07-02T16:33:28
GL: Allow shader compilation with cached translated source Write the translated shader source when serializing shaders. This does not increase the size of the shader cache because Vulkan only uses the compiledBinary field. Spawn a ShaderTranslateTask for loading shaders so the GL backend can compile the shader on the native driver. Bug: angleproject:350779978 Change-Id: I14413a7ca2a0d99653a1082f2c8b4a94cf58626a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5672740 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
//
// Copyright 2024 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// ShaderWgpu.h:
// Defines the class interface for ShaderWgpu, implementing ShaderImpl.
//
#ifndef LIBANGLE_RENDERER_WGPU_SHADERWGPU_H_
#define LIBANGLE_RENDERER_WGPU_SHADERWGPU_H_
#include "libANGLE/renderer/ShaderImpl.h"
namespace rx
{
class ShaderWgpu : public ShaderImpl
{
public:
ShaderWgpu(const gl::ShaderState &data);
~ShaderWgpu() override;
std::shared_ptr<ShaderTranslateTask> compile(const gl::Context *context,
ShCompileOptions *options) override;
std::shared_ptr<ShaderTranslateTask> load(const gl::Context *context,
gl::BinaryInputStream *stream) override;
std::string getDebugInfo() const override;
};
} // namespace rx
#endif // LIBANGLE_RENDERER_WGPU_SHADERWGPU_H_