Project

General

Profile

Emulator Issues #6901

buffer_storage merge request

Added by Sonicadvance1 over 7 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
Category:
GFX
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
Yes
Easy:
No
Relates to maintainability:
Yes
Regression start:
Fixed in:

Description

Name of clone: buffer_storage branch

Purpose of code changes on this branch:
Changes the buffer uploading method in OpenGL from using either the vertex streaming hack or buffersubdata to using the new OpenGL 4.4 method of buffer_storage instead.

Changes to mandate GLEW 1.10 as the minimum version since that brings in the new OpenGL 4.4 methods.

When reviewing my code changes, please focus on:

The fact that I didn't remove the VSH method for the following reasons.
1) Still "required" for Geforce 8xxx to 2xx cards
2) Can still be used with buffer_storage since it is disabled for ARRAY_BUFFER types.
3) The fact that the upload method is disabled for ARRAY_BUFFER types due to a driver bug.

The fact that it breaks Android build, which is okay for the following reasons
1) The Android buildbot is currently generating broken builds anyway.
2) I've got code that doesn't directly relate to this that'll fix the issue in a few days worth of time.

The fact that AMD is completely untested in this regard. Once they release drivers that support OpenGL 4.4, it will default to buffer_storage instead of pinned_memory and we don't know what havoc that will bring.

History

#1 Updated by Sonicadvance1 over 7 years ago

As suggested by Matt_P, I did a temporary fix for GLES3/Android just like how it we work around a few other things. As said in the commit message, I'm working on code to remove these defines in a cleaner way.

#2 Updated by Sonicadvance1 over 7 years ago

The temporary "fix" in this branch is removed in the GLExtensions branch, which should be merged slightly afterwards.

#3 Updated by Sonicadvance1 over 7 years ago

  • Status changed from New to Fixed

Got permission from neo in IRC to merge. So I did so.

Also available in: Atom PDF