mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 21:20:07 -05:00
7c856c929c
-Really fix locking of affine scale. --Code changes -Remove dependency projects from the solution. Move to a project design where they are built once via command line and stored in a /Deps folder. --Because of this, libpng is built as a static lib instead of a dll because that's what its command line makefile supports. --Remove libpng16.dll from Wix installer. -Remove all configs except for debug and release. -Remove all platforms except for x64. -Add #define __TBB_NO_IMPLICIT_LINKAGE 1 to prevent tbb from locking for tbb_debug.lib by default on debug builds. -Put Ember.rc in a filter folder in the project. -Place pragma warning disable statements in PCH files rather than in projects. This makes it easier when using Qt Creator. -Move all resource files to the MSVC folder. -Set all targets in QtCreator project to their lowercase names to be more *nix friendly. Set -l link statements to use these new lowercase names for ember and embercl. -Rework projects to favor shadow builds. -Remove the symlinks.sh file and all references to it. It was never needed. Instead, just specify multiple include and link paths in the .pro files. -Change WIN32 to _WIN32. -Fix a few code warnings.
41 lines
812 B
C++
41 lines
812 B
C++
#pragma once
|
|
|
|
#include "EmberCLPch.h"
|
|
#include "OpenCLWrapper.h"
|
|
#include "IterOpenCLKernelCreator.h"
|
|
|
|
/// <summary>
|
|
/// RendererClDevice class.
|
|
/// </summary>
|
|
|
|
namespace EmberCLns
|
|
{
|
|
/// <summary>
|
|
/// Class to manage a device that does the iteration portion of
|
|
/// the rendering process. Having a separate class for this purpose
|
|
/// enables multi-GPU support.
|
|
/// </summary>
|
|
class EMBERCL_API RendererClDevice : public EmberReport
|
|
{
|
|
public:
|
|
RendererClDevice(size_t platform, size_t device, bool shared);
|
|
bool Init();
|
|
bool Ok() const;
|
|
bool Shared() const;
|
|
bool Nvidia() const;
|
|
size_t WarpSize() const;
|
|
|
|
size_t m_Calls;
|
|
OpenCLWrapper m_Wrapper;
|
|
|
|
private:
|
|
bool m_Init;
|
|
bool m_Shared;
|
|
bool m_NVidia;
|
|
size_t m_WarpSize;
|
|
size_t m_PlatformIndex;
|
|
size_t m_DeviceIndex;
|
|
shared_ptr<OpenCLInfo> m_Info;
|
|
};
|
|
}
|