1706f2543Smrg/* 2706f2543Smrg * Copyright © 2010 NVIDIA Corporation 3706f2543Smrg * 4706f2543Smrg * Permission is hereby granted, free of charge, to any person obtaining a 5706f2543Smrg * copy of this software and associated documentation files (the "Software"), 6706f2543Smrg * to deal in the Software without restriction, including without limitation 7706f2543Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8706f2543Smrg * and/or sell copies of the Software, and to permit persons to whom the 9706f2543Smrg * Software is furnished to do so, subject to the following conditions: 10706f2543Smrg * 11706f2543Smrg * The above copyright notice and this permission notice (including the next 12706f2543Smrg * paragraph) shall be included in all copies or substantial portions of the 13706f2543Smrg * Software. 14706f2543Smrg * 15706f2543Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16706f2543Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17706f2543Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18706f2543Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19706f2543Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20706f2543Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21706f2543Smrg * DEALINGS IN THE SOFTWARE. 22706f2543Smrg */ 23706f2543Smrg 24706f2543Smrg#ifndef _SYNCSDK_H_ 25706f2543Smrg#define _SYNCSDK_H_ 26706f2543Smrg 27706f2543Smrg#include "misync.h" 28706f2543Smrg 29706f2543Smrgextern _X_EXPORT int 30706f2543SmrgSyncVerifyFence(SyncFence **ppFence, XID fid, ClientPtr client, Mask mode); 31706f2543Smrg 32706f2543Smrg#define VERIFY_SYNC_FENCE(pFence, fid, client, mode) \ 33706f2543Smrg do { \ 34706f2543Smrg int rc; \ 35706f2543Smrg rc = SyncVerifyFence(&(pFence), (fid), (client), (mode)); \ 36706f2543Smrg if (Success != rc) return rc; \ 37706f2543Smrg } while (0) 38706f2543Smrg 39706f2543Smrg#define VERIFY_SYNC_FENCE_OR_NONE(pFence, fid, client, mode) \ 40706f2543Smrg do { \ 41706f2543Smrg pFence = 0; \ 42706f2543Smrg if (None != fid) \ 43706f2543Smrg VERIFY_SYNC_FENCE((pFence), (fid), (client), (mode)); \ 44706f2543Smrg } while (0) 45706f2543Smrg 46706f2543Smrg#endif /* _SYNCSDK_H_ */ 47706f2543Smrg 48