summaryrefslogtreecommitdiff
path: root/drivers/gles2/rasterizer_storage_gles2.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gles2/rasterizer_storage_gles2.h')
-rw-r--r--drivers/gles2/rasterizer_storage_gles2.h35
1 files changed, 28 insertions, 7 deletions
diff --git a/drivers/gles2/rasterizer_storage_gles2.h b/drivers/gles2/rasterizer_storage_gles2.h
index ba9274b576..2e78910614 100644
--- a/drivers/gles2/rasterizer_storage_gles2.h
+++ b/drivers/gles2/rasterizer_storage_gles2.h
@@ -95,6 +95,7 @@ public:
bool support_shadow_cubemaps;
bool multisample_supported;
+ bool render_to_mipmap_supported;
GLuint depth_internalformat;
GLuint depth_type;
@@ -1140,12 +1141,6 @@ public:
GLuint multisample_depth;
bool multisample_active;
- // TODO post processing effects?
-
- // TODO HDR?
-
- // TODO this is hardcoded for texscreen copies for now
-
struct Effect {
GLuint fbo;
int width;
@@ -1163,6 +1158,27 @@ public:
Effect copy_screen_effect;
+ struct MipMaps {
+
+ struct Size {
+ GLuint fbo;
+ GLuint color;
+ int width;
+ int height;
+ };
+
+ Vector<Size> sizes;
+ GLuint color;
+ int levels;
+
+ MipMaps() :
+ color(0),
+ levels(0) {
+ }
+ };
+
+ MipMaps mip_maps[2];
+
struct External {
GLuint fbo;
GLuint color;
@@ -1182,6 +1198,9 @@ public:
RID texture;
+ bool used_dof_blur_near;
+ bool mip_maps_allocated;
+
RenderTarget() :
fbo(0),
color(0),
@@ -1195,7 +1214,9 @@ public:
width(0),
height(0),
used_in_frame(false),
- msaa(VS::VIEWPORT_MSAA_DISABLED) {
+ msaa(VS::VIEWPORT_MSAA_DISABLED),
+ used_dof_blur_near(false),
+ mip_maps_allocated(false) {
for (int i = 0; i < RENDER_TARGET_FLAG_MAX; ++i) {
flags[i] = false;
}