• Home
  • Raw
  • Download

Lines Matching refs:affinity

45       affinity mask. OpenGL rendering commands are directed to the
46 GPU(s) specified by the affinity mask. GPU affinity is immutable.
49 This extension also introduces the concept called affinity-DC. An
50 affinity-DC is a device context with a GPU affinity mask embedded
52 commands to be sent to the GPU(s) in the affinity mask.
55 command wglEnumGpusNV. An affinity-DC is created by calling
57 which make up the affinity mask. An affinity-DC can also
60 affinity-DC by calling wglCreatePbuffer.
62 A context created from an affinity DC will inherit the GPU
63 affinity mask from the DC. Once inherited, it cannot be changed.
64 Such a context is called an affinity-context. This restricts the
65 affinity-context to only allow OpenGL commands to be sent to those
66 GPU(s) in its affinity mask. Once created, this context can be
69 1. Make the affinity-context current to an affinity-DC. This
70 will only succeed if the context's affinity mask is the same
71 as the affinity mask in the DC. There is no window
72 associated with an affinity DC, therefore this is a way to
75 framebuffer object. In the former case, the affinity-mask of
77 will be the same affinity-mask as the DC used to created the
83 2. Make the affinity-context current to a DC obtained from a
86 displayed by the GPU(s) in the affinity mask of the context.
88 Sharing OpenGL objects between affinity-contexts, by calling
90 affinity masks.
93 affinity mask) current to an affinity-DC. This would mean a way
94 for a context to inherit affinity information, which makes the
95 context affinity mutable, which is counter to the premise of this
228 A new type of DC, called an affinity-DC, can be used to direct
229 OpenGL commands to a specific GPU or set of GPUs. An affinity-DC
230 is a device context with a GPU affinity mask embedded in it. This
232 sent to the GPU(s) in the affinity mask. An affinity-DC can be
235 wglGetPbufferDCARB. To create an affinity-DC directly call:
240 affinity-DC will be restricted. If an element in the list is not a
243 If successful, the function returns an affinity-DC. If it fails,
246 To create an affinity-DC indirectly, first call
247 wglCreatePbufferARB passing it an affinity-DC. Next, pass the
249 wglGetPbufferDCARB to create an affinity-DC for the pBuffer. The
250 DC returned by wglGetPbufferDCARB will have the same affinity mask
254 An affinity-DC has no window associated with it, and therefore it
257 current to an affinity-DC will only be able to render into an
263 A context created from an affinity-DC, by calling wglCreateContext
264 and passing it an affinity-DC, is called an affinity-context. This
265 context will inherit the affinity mask from the DC. This affinity-
266 mask cannot be changed. The affinity mask restricts the affinity-
268 in its affinity mask.
275 create the affinity-DC.
280 An affinity-context can only be made current to an affinity-DC
281 with the same affinity-mask, otherwise wglMakeCurrent and
283 of wglMakeContextCurrentARB, the affinity masks of both the "read"
284 and "draw" DCs need to match the affinity-mask of the context.
286 If a context that has no affinity mask is made current to an
287 affinity-DC, wglMakeCurrent and wglMakeContextCurrentARB will fail
289 fail if either the "read" or "draw" DC is an affinity-DC.
291 If an affinity-context is made current to a DC obtained from a
294 desktop that are displayed by the GPU(s) in the affinity-mask of
296 an affinity mask set.
302 rendering context have non-matching affinity masks.
305 not have an affinity mask set.
307 Sharing OpenGL objects between affinity-contexts, by calling
309 affinity masks. The following error codes are added to the
313 matching affinity masks.
315 To delete an affinity-DC call:
319 <hdc> Is a handle of an affinity-DC to delete.
325 ERROR_INVALID_HANDLE <hdc> is not a handle of an affinity-DC.
327 To retrieve a list of GPU handles that make up the affinity-mask
328 of an affinity-DC, call:
334 <hAffinityDC> is a handle of the affinity-DC to query.
336 <iGpuIndex> is an index value of the GPU handle in the affinity
354 affinity-DC.
405 // of the WGL affinity related entrypoints.
422 // Create an affinity-DC associated with the first GPU
428 // Set a pixelformat on the affinity-DC
447 // of the WGL affinity and pbuffer related entrypoints.
463 // Create an affinity-DC associated with the first GPU
492 // pbufferAffDC will have the same affinity-mask as affDC.
495 // affRC will inherit the affinity-mask from pBufferAffDC.
503 1) Do we really need an affinity-DC, or can we do with just an
504 affinity context?
506 DISCUSSION: If affinity is not part of a DC, a new function will
507 need to be defined to create an affinity-context or set an
508 affinity-mask for an existing context. Passing NULL as a HDC to
512 affinity-mask in the affinity-context dictates where rendering is
515 counter to the whole idea of this extension. Thus an affinity-DC
518 Thus the question reduces to, do we need an affinity-DC in order
519 to facilitate off-screen rendering to a FBO? Having an affinity-DC
527 creation time what the affinity-mask is, rather than at
532 2) Should the GPU affinity concept also apply to D3D and/or GDI
536 affinity concept to D3D. However, D3D is sufficiently different
541 3) Should setting a pixelformat on an affinity-DC be required?
543 DISCUSSION: Setting a pixelformat on an affinity-DC is not
547 becomes an issue when making an affinity-context current to a DC
549 application, and therefore the affinity-context needs to have the
550 same pixelformat. This means the affinity-DC, that the affinity-
553 RESOLUTION: YES. Setting a pixelformat on an affinity-DC is
556 4) Is it allowed to make an affinity-context current to an
557 affinity-DC where the mask of the context spans more GPUs than the
560 5) Is it allowed to make an affinity-context current to an
561 affinity-DC where the mask of the context spans less GPUs than the
568 by creating two affinity-DCs. One has an affinity mask for the
570 affinity-contexts that both have an affinity-mask that spans both
571 GPUs. Making one context current to the first affinity-DC will
572 lock the context to the GPU in the mask of that affinity-DC. Make
573 another context current to the second affinity-DC will lock that
606 8) How do I transfer data efficiently between two affinity-