mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 22:09:19 -07:00
7b34def0fc
First: Added a DESTDIR option for package building. Second: Change the OpenCL setup. On both linux and windows use CLRun. I completely removed the option here. If CLRun works on MacOSX this should be done there as well, and this change implemented in the scons build also. Then we could remove the HAVE_OPENCL and the new USE_CLRUN definitions. Then we will finally have the dynamic detection of opencl set up cross platform. On a side note, it doesn't seem that the program loaded from TextureDecoder.cl compiles or runs. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6366 8ced0084-cf51-0410-be5f-012b33b47a6e
73 lines
1.7 KiB
C++
73 lines
1.7 KiB
C++
// Copyright (C) 2003 Dolphin Project.
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, version 2.0.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
// Official SVN repository and contact information can be found at
|
|
// http://code.google.com/p/dolphin-emu/
|
|
|
|
#ifndef __OPENCL_H__
|
|
#define __OPENCL_H__
|
|
|
|
#include "Common.h"
|
|
|
|
// OpenCL on Windows is linked through the CLRun library
|
|
// It provides the headers and all the imports
|
|
#if defined(_WIN32) || defined(USE_CLRUN)
|
|
#define HAVE_OPENCL 1
|
|
#endif
|
|
|
|
#if defined(HAVE_OPENCL) && HAVE_OPENCL
|
|
|
|
#ifdef __APPLE__
|
|
#define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
|
|
#include <OpenCL/cl.h>
|
|
#else
|
|
#include <CL/cl.h>
|
|
#endif
|
|
|
|
#else
|
|
|
|
typedef void *cl_context;
|
|
typedef void *cl_command_queue;
|
|
typedef void *cl_program;
|
|
typedef void *cl_kernel;
|
|
typedef void *cl_mem;
|
|
typedef void *cl_int;
|
|
|
|
#endif
|
|
|
|
namespace OpenCL
|
|
{
|
|
|
|
#if defined(HAVE_OPENCL) && HAVE_OPENCL
|
|
extern cl_device_id device_id;
|
|
extern cl_context g_context;
|
|
extern cl_command_queue g_cmdq;
|
|
#endif
|
|
|
|
bool Initialize();
|
|
|
|
cl_context GetContext();
|
|
|
|
cl_command_queue GetCommandQueue();
|
|
|
|
void Destroy();
|
|
|
|
cl_program CompileProgram(const char *Kernel);
|
|
cl_kernel CompileKernel(cl_program program, const char *Function);
|
|
|
|
void HandleCLError(cl_int error, const char* str = 0);
|
|
}
|
|
|
|
#endif
|