Skip to content

Commit 41e77d2

Browse files
Add context types.
Change-Id: Ie8f76de97ce2a41c55e78b715b0ab7db039f5b3b
1 parent d445077 commit 41e77d2

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

runtime/context/context.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ struct OpenCLObjectMapper<_cl_context> {
2626
typedef class Context DerivedType;
2727
};
2828

29+
enum class ContextType {
30+
CONTEXT_TYPE_DEFAULT,
31+
CONTEXT_TYPE_SPECIALIZED,
32+
CONTEXT_TYPE_UNRESTRICTIVE
33+
};
34+
2935
class Context : public BaseObject<_cl_context> {
3036
public:
3137
static const cl_ulong objectMagic = 0xA4234321DC002130LL;
@@ -110,6 +116,8 @@ class Context : public BaseObject<_cl_context> {
110116
bool getInteropUserSyncEnabled() { return interopUserSync; }
111117
void setInteropUserSyncEnabled(bool enabled) { interopUserSync = enabled; }
112118

119+
ContextType peekContextType() { return this->contextType; }
120+
113121
protected:
114122
Context(void(CL_CALLBACK *pfnNotify)(const char *, const void *, size_t, void *) = nullptr,
115123
void *userData = nullptr);
@@ -131,5 +139,6 @@ class Context : public BaseObject<_cl_context> {
131139
DriverDiagnostics *driverDiagnostics;
132140
bool interopUserSync = false;
133141
cl_bool preferD3dSharedResources = 0u;
142+
ContextType contextType = ContextType::CONTEXT_TYPE_DEFAULT;
134143
};
135144
} // namespace OCLRT

unit_tests/context/context_tests.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,3 +340,8 @@ TEST_P(ContextWithAsyncDeleterTest, givenContextWithMemoryManagerWhenAsyncDelete
340340
INSTANTIATE_TEST_CASE_P(ContextTests,
341341
ContextWithAsyncDeleterTest,
342342
::testing::Bool());
343+
344+
TEST(DefaultContext, givenDefaultContextWhenItIsQueriedForTypeThenDefaultTypeIsReturned) {
345+
MockContext context;
346+
EXPECT_EQ(ContextType::CONTEXT_TYPE_DEFAULT, context.peekContextType());
347+
}

0 commit comments

Comments
 (0)