1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 20:17:44 +00:00

LibGL+LibSoftGPU: Use device samplers for rendering

We now sample textures from the device owned image samplers.
Passing of enabled texture units has been simplified by only passing a
list of texture unit indices.
This commit is contained in:
Stephan Unverwerth 2021-12-22 22:14:18 +01:00 committed by Brian Gianforcaro
parent f69de5e850
commit d8c17c8838
5 changed files with 19 additions and 30 deletions

View file

@ -68,7 +68,7 @@ class Device final {
public:
Device(const Gfx::IntSize& min_size);
void draw_primitives(GLenum primitive_type, FloatMatrix4x4 const& transform, FloatMatrix4x4 const& texture_matrix, Vector<Vertex> const& vertices, GL::TextureUnit::BoundList const& bound_texture_units);
void draw_primitives(GLenum primitive_type, FloatMatrix4x4 const& transform, FloatMatrix4x4 const& texture_matrix, Vector<Vertex> const& vertices, Vector<size_t> const& enabled_texture_units);
void resize(const Gfx::IntSize& min_size);
void clear_color(const FloatVector4&);
void clear_depth(float);
@ -85,7 +85,7 @@ public:
void set_sampler_config(unsigned, SamplerConfig const&);
private:
void submit_triangle(Triangle const& triangle, GL::TextureUnit::BoundList const& bound_texture_units);
void submit_triangle(Triangle const& triangle, Vector<size_t> const& enabled_texture_units);
private:
RefPtr<Gfx::Bitmap> m_render_target;