now uses DIRECT_BUFFER_INFO_AREA_SIZE as the direct_buffer_info area size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28525 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -9,6 +9,9 @@
|
||||
#include <OS.h>
|
||||
|
||||
|
||||
#define DIRECT_BUFFER_INFO_AREA_SIZE B_PAGE_SIZE
|
||||
|
||||
|
||||
struct direct_window_sync_data {
|
||||
area_id area;
|
||||
sem_id disable_sem;
|
||||
|
||||
@@ -26,7 +26,7 @@ if $(TARGET_PLATFORM) != haiku {
|
||||
SubDirC++Flags [ FDefines $(defines) ] ;
|
||||
}
|
||||
|
||||
UsePrivateHeaders opengl ;
|
||||
UsePrivateHeaders interface opengl ;
|
||||
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa ] ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa main ] ;
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "MesaSoftwareRenderer.h"
|
||||
|
||||
#include <Autolock.h>
|
||||
#include <DirectWindowPrivate.h>
|
||||
#include <GraphicsDefs.h>
|
||||
#include <Screen.h>
|
||||
|
||||
@@ -563,11 +564,9 @@ MesaSoftwareRenderer::DirectConnected(direct_buffer_info *info)
|
||||
BAutolock lock(fInfoLocker);
|
||||
if (info) {
|
||||
if (!fInfo) {
|
||||
// TODO size of info != sizeof(direct_buffer_info)
|
||||
// see GLView.cpp in glview_direct_info::glview_direct_info()
|
||||
fInfo = (direct_buffer_info *)calloc(1, B_PAGE_SIZE);
|
||||
fInfo = (direct_buffer_info *)calloc(1, DIRECT_BUFFER_INFO_AREA_SIZE);
|
||||
}
|
||||
memcpy(fInfo, info, B_PAGE_SIZE);
|
||||
memcpy(fInfo, info, DIRECT_BUFFER_INFO_AREA_SIZE);
|
||||
} else if (fInfo) {
|
||||
free(fInfo);
|
||||
fInfo = NULL;
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <DirectWindow.h>
|
||||
#include <GLRenderer.h>
|
||||
|
||||
#include "DirectWindowPrivate.h"
|
||||
#include "GLRendererRoster.h"
|
||||
|
||||
struct glview_direct_info {
|
||||
@@ -568,7 +569,7 @@ const char * color_space_name(color_space space)
|
||||
glview_direct_info::glview_direct_info()
|
||||
{
|
||||
// TODO: See direct_window_data() in app_server's ServerWindow.cpp
|
||||
direct_info = (direct_buffer_info *)calloc(1, B_PAGE_SIZE);
|
||||
direct_info = (direct_buffer_info *)calloc(1, DIRECT_BUFFER_INFO_AREA_SIZE);
|
||||
direct_connected = false;
|
||||
enable_direct_mode = false;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ SubDir HAIKU_TOP src kits opengl ;
|
||||
|
||||
SetSubDirSupportedPlatformsBeOSCompatible ;
|
||||
|
||||
UsePrivateHeaders opengl ;
|
||||
UsePrivateHeaders interface opengl ;
|
||||
UsePrivateSystemHeaders ;
|
||||
|
||||
if $(TARGET_PLATFORM) != haiku {
|
||||
|
||||
Reference in New Issue
Block a user