summaryrefslogtreecommitdiff
path: root/drivers/gles3/rasterizer_storage_gles3.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gles3/rasterizer_storage_gles3.h')
-rw-r--r--drivers/gles3/rasterizer_storage_gles3.h42
1 files changed, 0 insertions, 42 deletions
diff --git a/drivers/gles3/rasterizer_storage_gles3.h b/drivers/gles3/rasterizer_storage_gles3.h
index fa74fbd5f6..7ac3db4537 100644
--- a/drivers/gles3/rasterizer_storage_gles3.h
+++ b/drivers/gles3/rasterizer_storage_gles3.h
@@ -258,8 +258,6 @@ public:
void initialize();
void finalize();
- void _copy_screen();
-
void update_memory_info() override;
uint64_t get_rendering_info(RS::RenderingInfo p_info) override;
@@ -297,9 +295,6 @@ public:
return String();
}
- void buffer_orphan_and_upload(unsigned int p_buffer_size, unsigned int p_offset, unsigned int p_data_size, const void *p_data, GLenum p_target = GL_ARRAY_BUFFER, GLenum p_usage = GL_DYNAMIC_DRAW, bool p_optional_orphan = false) const;
- bool safe_buffer_sub_data(unsigned int p_total_buffer_size, GLenum p_target, unsigned int p_offset, unsigned int p_data_size, const void *p_data, unsigned int &r_offset_after) const;
-
//bool validate_framebuffer(); // Validate currently bound framebuffer, does not touch global state
String get_framebuffer_error(GLenum p_status);
@@ -307,43 +302,6 @@ public:
~RasterizerStorageGLES3();
};
-inline bool RasterizerStorageGLES3::safe_buffer_sub_data(unsigned int p_total_buffer_size, GLenum p_target, unsigned int p_offset, unsigned int p_data_size, const void *p_data, unsigned int &r_offset_after) const {
- r_offset_after = p_offset + p_data_size;
-#ifdef DEBUG_ENABLED
- // we are trying to write across the edge of the buffer
- if (r_offset_after > p_total_buffer_size) {
- return false;
- }
-#endif
- glBufferSubData(p_target, p_offset, p_data_size, p_data);
- return true;
-}
-
-// standardize the orphan / upload in one place so it can be changed per platform as necessary, and avoid future
-// bugs causing pipeline stalls
-inline void RasterizerStorageGLES3::buffer_orphan_and_upload(unsigned int p_buffer_size, unsigned int p_offset, unsigned int p_data_size, const void *p_data, GLenum p_target, GLenum p_usage, bool p_optional_orphan) const {
- // Orphan the buffer to avoid CPU/GPU sync points caused by glBufferSubData
- // Was previously #ifndef GLES_OVER_GL however this causes stalls on desktop mac also (and possibly other)
- if (!p_optional_orphan || (config->should_orphan)) {
- glBufferData(p_target, p_buffer_size, nullptr, p_usage);
-#ifdef RASTERIZER_EXTRA_CHECKS
- // fill with garbage off the end of the array
- if (p_buffer_size) {
- unsigned int start = p_offset + p_data_size;
- unsigned int end = start + 1024;
- if (end < p_buffer_size) {
- uint8_t *garbage = (uint8_t *)alloca(1024);
- for (int n = 0; n < 1024; n++) {
- garbage[n] = Math::random(0, 255);
- }
- glBufferSubData(p_target, start, 1024, garbage);
- }
- }
-#endif
- }
- glBufferSubData(p_target, p_offset, p_data_size, p_data);
-}
-
inline String RasterizerStorageGLES3::get_framebuffer_error(GLenum p_status) {
#if defined(DEBUG_ENABLED) && defined(GLES_OVER_GL)
if (p_status == GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) {