From 532563e86185749162184850775756e8b8f2e0f2 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Fri, 27 May 2022 22:55:57 +0300 Subject: [PATCH] gl: Update some more buffer-object functions --- rpcs3/Emu/RSX/GL/GLHelpers.h | 10 +++++++--- rpcs3/Emu/RSX/GL/GLProcTable.h | 6 ++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/RSX/GL/GLHelpers.h b/rpcs3/Emu/RSX/GL/GLHelpers.h index 5bf8e00b6..a62137aa0 100644 --- a/rpcs3/Emu/RSX/GL/GLHelpers.h +++ b/rpcs3/Emu/RSX/GL/GLHelpers.h @@ -742,12 +742,16 @@ namespace gl { ensure(m_memory_type != memory_type::local); - target target_ = current_target(); - save_binding_state save(target_, *this); - glBufferData(static_cast(target_), size, data_, usage); + DSA_CALL2(NamedBufferData, m_id, size, data_, usage); m_size = size; } + void sub_data(GLsizeiptr offset, GLsizeiptr length, GLvoid* data) + { + ensure(m_memory_type != memory_type::local); + DSA_CALL2(NamedBufferSubData, m_id, offset, length, data); + } + GLubyte* map(GLsizeiptr offset, GLsizeiptr length, access access_) { ensure(m_memory_type == memory_type::host_visible); diff --git a/rpcs3/Emu/RSX/GL/GLProcTable.h b/rpcs3/Emu/RSX/GL/GLProcTable.h index abc56f4fd..380f87629 100644 --- a/rpcs3/Emu/RSX/GL/GLProcTable.h +++ b/rpcs3/Emu/RSX/GL/GLProcTable.h @@ -198,6 +198,12 @@ OPENGL_PROC(PFNGLCLEARBUFFERFVPROC, ClearBufferfv); OPENGL_PROC(PFNGLCOPYNAMEDBUFFERSUBDATAPROC, CopyNamedBufferSubData); OPENGL_PROC(PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC, NamedCopyBufferSubDataEXT); +OPENGL_PROC(PFNGLNAMEDBUFFERDATAPROC, NamedBufferData); +OPENGL_PROC(PFNGLNAMEDBUFFERDATAEXTPROC, NamedBufferDataEXT); + +OPENGL_PROC(PFNGLNAMEDBUFFERSUBDATAPROC, NamedBufferSubData); +OPENGL_PROC(PFNGLNAMEDBUFFERSUBDATAEXTPROC, NamedBufferSubDataEXT); + // Sampler Objects OPENGL_PROC(PFNGLGENSAMPLERSPROC, GenSamplers); OPENGL_PROC(PFNGLDELETESAMPLERSPROC, DeleteSamplers);