summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGPU/Device.h
diff options
context:
space:
mode:
authorJelle Raaijmakers <jelle@gmta.nl>2022-09-04 20:02:37 +0200
committerLinus Groh <mail@linusgroh.de>2022-09-11 22:37:07 +0100
commit44953a430159117fcfbbee6f3e47bfac89f5e215 (patch)
treec3b6220b0be8f5c41c173e3f306a1b4bf6887fdf /Userland/Libraries/LibGPU/Device.h
parentd7f1dc146e024ee947dd0941e37a40abb6cdae39 (diff)
downloadserenity-44953a430159117fcfbbee6f3e47bfac89f5e215.zip
LibGL+LibGPU+LibSoftGPU: Implement `glCopyTex(Sub)?Image2d`
These two methods copy from the frame buffer to (part of) a texture.
Diffstat (limited to 'Userland/Libraries/LibGPU/Device.h')
-rw-r--r--Userland/Libraries/LibGPU/Device.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/Userland/Libraries/LibGPU/Device.h b/Userland/Libraries/LibGPU/Device.h
index b40704e4c4..3c019b68e5 100644
--- a/Userland/Libraries/LibGPU/Device.h
+++ b/Userland/Libraries/LibGPU/Device.h
@@ -8,10 +8,7 @@
#pragma once
#include <AK/Array.h>
-#include <AK/Error.h>
#include <AK/NonnullRefPtr.h>
-#include <AK/RefCounted.h>
-#include <AK/RefPtr.h>
#include <AK/Vector.h>
#include <LibGPU/DeviceInfo.h>
#include <LibGPU/Enums.h>
@@ -29,7 +26,6 @@
#include <LibGfx/Bitmap.h>
#include <LibGfx/Matrix3x3.h>
#include <LibGfx/Matrix4x4.h>
-#include <LibGfx/Rect.h>
#include <LibGfx/Size.h>
#include <LibGfx/Vector2.h>
#include <LibGfx/Vector4.h>
@@ -48,8 +44,10 @@ public:
virtual void clear_depth(DepthType) = 0;
virtual void clear_stencil(StencilType) = 0;
virtual void blit_from_color_buffer(Gfx::Bitmap& target) = 0;
+ virtual void blit_from_color_buffer(NonnullRefPtr<Image>, u32 level, Vector2<u32> input_size, Vector2<i32> input_offset, Vector3<i32> output_offset) = 0;
virtual void blit_from_color_buffer(void*, Vector2<i32> offset, GPU::ImageDataLayout const&) = 0;
virtual void blit_from_depth_buffer(void*, Vector2<i32> offset, GPU::ImageDataLayout const&) = 0;
+ virtual void blit_from_depth_buffer(NonnullRefPtr<Image>, u32 level, Vector2<u32> input_size, Vector2<i32> input_offset, Vector3<i32> output_offset) = 0;
virtual void blit_to_color_buffer_at_raster_position(void const*, GPU::ImageDataLayout const&) = 0;
virtual void blit_to_depth_buffer_at_raster_position(void const*, GPU::ImageDataLayout const&) = 0;
virtual void set_options(RasterizerOptions const&) = 0;