"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-OGL-001","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ(3引数)","正常系","OpenGLプロファイルでバージョン情報が正しく設定されること","なし","type=GlProfileType.OpenGL, major=4, minor=5","Type=OpenGL, Major=4, Minor=5, IsCompatibilityProfile=falseが設定される","高","OpenGLバージョン情報の基本コンストラクタ"
"2","UT-OGL-002","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ(4引数)","正常系","互換プロファイルフラグが正しく設定されること","なし","type=GlProfileType.OpenGL, major=3, minor=2, isCompatibilityProfile=true","IsCompatibilityProfile=trueが設定される","高","互換プロファイル対応"
"3","UT-OGL-003","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ(3引数)","正常系","OpenGLESプロファイルでバージョン情報が正しく設定されること","なし","type=GlProfileType.OpenGLES, major=3, minor=0","Type=OpenGLES, Major=3, Minor=0が設定される","高","OpenGLESバージョン情報"
"4","UT-OGL-004","src/Avalonia.OpenGL/GlVersion.cs","GlVersion","コンストラクタ","境界値","メジャーバージョン0が設定できること","なし","type=GlProfileType.OpenGLES, major=0, minor=0","Major=0が設定される","中","最小バージョン境界値"
"5","UT-OGL-005","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetString(int)","正常系","有効なポインタから文字列が取得できること","GL_VERSIONが有効な文字列を返す環境","v=GL_VERSION","バージョン文字列が返却される","高","OpenGL情報取得の基本機能"
"6","UT-OGL-006","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetString(int)","異常系","ポインタがIntPtr.Zeroの場合nullが返却されること","GetStringNativeがIntPtr.Zeroを返す","v=任意の無効値","nullが返却される","高","エラー処理"
"7","UT-OGL-007","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetString(int, int)","正常系","インデックス付きで文字列が取得できること","GL_EXTENSIONSが複数の拡張を持つ","v=GL_EXTENSIONS, index=0","拡張機能名が返却される","中","拡張機能取得"
"8","UT-OGL-008","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetExtensions","正常系","古いOpenGLでスペース区切りの拡張リストが取得できること","GL_EXTENSIONSがスペース区切り文字列を返す","なし","拡張機能のリストが返却される","高","旧バージョン対応"
"9","UT-OGL-009","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetExtensions","正常系","新しいOpenGLでインデックス付き拡張リストが取得できること","GL_NUM_EXTENSIONSが正の値を返す","なし","拡張機能のリストが返却される","高","新バージョン対応"
"10","UT-OGL-010","src/Avalonia.OpenGL/GlBasicInfoInterface.cs","GlBasicInfoInterface","GetExtensions","境界値","拡張機能が0件の場合空リストが返却されること","GL_EXTENSIONSがnull、GL_NUM_EXTENSIONS=0","なし","空のリストが返却される","中","空リストのエッジケース"
"11","UT-OGL-011","src/Avalonia.OpenGL/GlInterface.cs","GlInterface.GlContextInfo","コンストラクタ","正常系","バージョンと拡張機能セットが正しく設定されること","なし","version=GlVersion(OpenGL,4,5), extensions=HashSet<string>","Version, Extensionsプロパティが正しく設定される","高","コンテキスト情報初期化"
"12","UT-OGL-012","src/Avalonia.OpenGL/GlInterface.cs","GlInterface.GlContextInfo","Create","正常系","getProcAddressから正しくコンテキスト情報が生成されること","有効なgetProcAddress関数","version=GlVersion(OpenGLES,3,0), getProcAddress=有効な関数","GlContextInfoが正しく生成される","高","ファクトリメソッド"
"13","UT-OGL-013","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","コンストラクタ","正常系","GlInterfaceが正しく初期化されること","有効なgetProcAddress","version=GlVersion(OpenGL,4,5), getProcAddress=有効な関数","Version, Vendor, Rendererが設定される","高","基本初期化"
"14","UT-OGL-014","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GetProcAddress","正常系","GL関数のアドレスが取得できること","有効なgetProcAddress","proc=""glClear""","有効なIntPtrが返却される","高","プロシージャアドレス取得"
"15","UT-OGL-015","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenFramebuffer","正常系","フレームバッファIDが生成されること","OpenGLコンテキストが有効","なし","正のフレームバッファIDが返却される","高","リソース生成"
"16","UT-OGL-016","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteFramebuffer","正常系","フレームバッファが削除されること","有効なフレームバッファID","fb=1","エラーなく処理が完了する","高","リソース解放"
"17","UT-OGL-017","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenRenderbuffer","正常系","レンダーバッファIDが生成されること","OpenGLコンテキストが有効","なし","正のレンダーバッファIDが返却される","高","リソース生成"
"18","UT-OGL-018","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteRenderbuffer","正常系","レンダーバッファが削除されること","有効なレンダーバッファID","renderbuffer=1","エラーなく処理が完了する","高","リソース解放"
"19","UT-OGL-019","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenTexture","正常系","テクスチャIDが生成されること","OpenGLコンテキストが有効","なし","正のテクスチャIDが返却される","高","リソース生成"
"20","UT-OGL-020","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteTexture","正常系","テクスチャが削除されること","有効なテクスチャID","texture=1","エラーなく処理が完了する","高","リソース解放"
"21","UT-OGL-021","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenBuffer","正常系","バッファIDが生成されること","OpenGLコンテキストが有効","なし","正のバッファIDが返却される","中","リソース生成"
"22","UT-OGL-022","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteBuffer","正常系","バッファが削除されること","有効なバッファID","buffer=1","エラーなく処理が完了する","中","リソース解放"
"23","UT-OGL-023","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GenVertexArray","正常系","頂点配列IDが生成されること","OpenGL 3.0以上のコンテキスト","なし","正の頂点配列IDが返却される","中","リソース生成"
"24","UT-OGL-024","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","DeleteVertexArray","正常系","頂点配列が削除されること","有効な頂点配列ID","array=1","エラーなく処理が完了する","中","リソース解放"
"25","UT-OGL-025","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","ShaderSourceString","正常系","シェーダーソースが設定されること","有効なシェーダーID","shader=1, source=""valid shader code""","エラーなく処理が完了する","高","シェーダー操作"
"26","UT-OGL-026","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","CompileShaderAndGetError","正常系","有効なシェーダーのコンパイルが成功しnullが返却されること","有効なシェーダーID","shader=1, source=""valid GLSL code""","nullが返却される","高","シェーダーコンパイル成功"
"27","UT-OGL-027","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","CompileShaderAndGetError","異常系","無効なシェーダーのコンパイルでエラーメッセージが返却されること","有効なシェーダーID","shader=1, source=""invalid code""","エラーメッセージ文字列が返却される","高","シェーダーコンパイルエラー"
"28","UT-OGL-028","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","LinkProgramAndGetError","正常系","有効なプログラムのリンクが成功しnullが返却されること","有効なプログラムID","program=1","nullが返却される","高","プログラムリンク成功"
"29","UT-OGL-029","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","LinkProgramAndGetError","異常系","無効なプログラムのリンクでエラーメッセージが返却されること","無効なシェーダーがアタッチされたプログラム","program=1","エラーメッセージ文字列が返却される","高","プログラムリンクエラー"
"30","UT-OGL-030","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","ClearDepth","正常系","ClearDepthDoubleが利用可能な場合に呼び出されること","glClearDepthが利用可能","value=1.0f","ClearDepthDoubleが呼び出される","中","深度バッファクリア"
"31","UT-OGL-031","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","ClearDepth","正常系","ClearDepthFloatが利用可能な場合に呼び出されること","glClearDepthfのみ利用可能","value=1.0f","ClearDepthFloatが呼び出される","中","深度バッファクリア(ES)"
"32","UT-OGL-032","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GetAttribLocationString","正常系","属性ロケーションが取得できること","有効なプログラムと属性名","program=1, name=""position""","有効なロケーション値が返却される","中","属性取得"
"33","UT-OGL-033","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","GetUniformLocationString","正常系","ユニフォームロケーションが取得できること","有効なプログラムとユニフォーム名","program=1, name=""uMVP""","有効なロケーション値が返却される","中","ユニフォーム取得"
"34","UT-OGL-034","src/Avalonia.OpenGL/GlInterface.cs","GlInterface","FromNativeUtf8GetProcAddress","正常系","UTF8ベースのgetProcAddressからGlInterfaceが生成されること","有効なgetProcAddress","version, getProcAddress","GlInterfaceインスタンスが返却される","高","ファクトリメソッド"
"35","UT-OGL-035","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","コンストラクタ(string)","正常系","メッセージのみで例外が生成されること","なし","message=""test error""","Messageプロパティが設定される","中","例外生成"
"36","UT-OGL-036","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedException(string, GlInterface)","正常系","GlInterfaceからフォーマット済み例外が生成されること","有効なGlInterface","funcName=""glClear"", gl=有効なGlInterface","フォーマット済みメッセージを持つ例外が返却される","高","例外フォーマット"
"37","UT-OGL-037","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedException(string, int)","正常系","エラーコードからフォーマット済み例外が生成されること","なし","funcName=""glClear"", errorCode=0x0501","GL_INVALID_VALUE等の名前を含むメッセージが返却される","高","例外フォーマット"
"38","UT-OGL-038","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedEglException","正常系","EGLエラーコードからフォーマット済み例外が生成されること","なし","funcName=""eglMakeCurrent"", errorCode=0x3001","EGL_NOT_INITIALIZED等の名前を含むメッセージが返却される","高","EGL例外フォーマット"
"39","UT-OGL-039","src/Avalonia.OpenGL/OpenGlException.cs","OpenGlException","GetFormattedException","異常系","未知のエラーコードでも例外が生成されること","なし","funcName=""func"", errorCode=0xFFFF","16進エラーコードを含むメッセージが返却される","中","未知エラー対応"
"40","UT-OGL-040","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","正常系","バージョン要件を満たす場合アドレスが取得できること","OpenGL 4.5コンテキスト","minVersionMajor=3, minVersionMinor=0","有効なIntPtrが返却される","高","バージョンチェック"
"41","UT-OGL-041","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","正常系","バージョン要件を満たさない場合IntPtr.Zeroが返却されること","OpenGL 2.1コンテキスト","minVersionMajor=3, minVersionMinor=0","IntPtr.Zeroが返却される","高","バージョンチェック失敗"
"42","UT-OGL-042","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","正常系","プロファイルタイプが異なる場合IntPtr.Zeroが返却されること","OpenGLESコンテキスト","profile=GlProfileType.OpenGL","IntPtr.Zeroが返却される","中","プロファイルチェック"
"43","UT-OGL-043","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlMinVersionEntryPoint","GetProcAddress","境界値","マイナーバージョンが境界の場合の判定が正しいこと","OpenGL 3.0コンテキスト","minVersionMajor=3, minVersionMinor=1","IntPtr.Zeroが返却される","中","境界バージョンチェック"
"44","UT-OGL-044","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlExtensionEntryPoint","GetProcAddress","正常系","拡張機能が存在する場合アドレスが取得できること","拡張GL_OES_vertex_array_objectが存在","extension=""GL_OES_vertex_array_object""","有効なIntPtrが返却される","高","拡張チェック成功"
"45","UT-OGL-045","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlExtensionEntryPoint","GetProcAddress","正常系","拡張機能が存在しない場合IntPtr.Zeroが返却されること","拡張が存在しない","extension=""GL_OES_vertex_array_object""","IntPtr.Zeroが返却される","高","拡張チェック失敗"
"46","UT-OGL-046","src/Avalonia.OpenGL/GlEntryPointAttribute.cs","GlExtensionEntryPoint","GetProcAddress","正常系","プロファイルタイプが異なる場合IntPtr.Zeroが返却されること","OpenGLコンテキスト、OpenGLES専用拡張","profile=GlProfileType.OpenGLES","IntPtr.Zeroが返却される","中","プロファイル不一致"
"47","UT-OGL-047","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","コンストラクタ(Func<string, IntPtr>)","正常系","getProcAddressから初期化されること","有効なgetProcAddress","getProcAddress=有効な関数","インスタンスが正しく初期化される","高","EGL初期化"
"48","UT-OGL-048","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","コンストラクタ(string)","正常系","ライブラリパスから初期化されること","有効なEGLライブラリ","library=""libEGL.so.1""","インスタンスが正しく初期化される","高","EGLライブラリロード"
"49","UT-OGL-049","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","Load()","正常系","Linuxでlibに対するLoad関数が実行されること","Linux環境","なし","libEGL.so.1がロードされる","中","プラットフォーム検出"
"50","UT-OGL-050","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","Load()","正常系","Androidでlibに対するLoad関数が実行されること","Android環境","なし","libEGL.soがロードされる","中","プラットフォーム検出"
"51","UT-OGL-051","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","Load()","異常系","未対応プラットフォームでPlatformNotSupportedExceptionがスローされること","Windows等の未対応環境","なし","PlatformNotSupportedExceptionがスローされる","中","例外処理"
"52","UT-OGL-052","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","QueryString","正常系","EGL文字列が取得できること","有効なEGLディスプレイ","display=有効, i=EGL_EXTENSIONS","拡張文字列が返却される","中","EGL情報取得"
"53","UT-OGL-053","src/Avalonia.OpenGL/Egl/EglInterface.cs","EglInterface","QueryString","異常系","IntPtr.Zeroの場合nullが返却されること","無効なディスプレイまたはパラメータ","display=無効","nullが返却される","中","エラー処理"
"54","UT-OGL-054","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","コンストラクタ(IntPtr, EglDisplayOptions)","正常系","ディスプレイハンドルから初期化されること","有効なEGLディスプレイハンドル","display=有効なIntPtr, options=EglDisplayOptions","Handleプロパティが設定される","高","EGLディスプレイ初期化"
"55","UT-OGL-055","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","コンストラクタ(IntPtr, EglDisplayOptions)","異常系","IntPtr.Zeroの場合ArgumentExceptionがスローされること","なし","display=IntPtr.Zero","ArgumentExceptionがスローされる","高","無効引数検証"
"56","UT-OGL-056","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","正常系","新しいEGLコンテキストが作成されること","有効なEGLディスプレイ","options=null","EglContextインスタンスが返却される","高","コンテキスト作成"
"57","UT-OGL-057","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","正常系","共有コンテキストが作成できること","SupportsSharingがtrue、既存コンテキストあり","options.ShareWith=既存コンテキスト","共有されたEglContextが返却される","高","共有コンテキスト"
"58","UT-OGL-058","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","異常系","共有未サポート時にNotSupportedExceptionがスローされること","SupportsSharingがfalse","options.ShareWith=コンテキスト","NotSupportedExceptionがスローされる","高","共有未対応"
"59","UT-OGL-059","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateContext","異常系","SingleContextで複数コンテキスト作成時にOpenGlExceptionがスローされること","SingleContext=true、既存コンテキストあり","なし","OpenGlExceptionがスローされる","高","単一コンテキスト制約"
"60","UT-OGL-060","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateWindowSurface","正常系","ウィンドウサーフェスが作成されること","有効なウィンドウハンドル","window=有効なIntPtr","EglSurfaceインスタンスが返却される","高","サーフェス作成"
"61","UT-OGL-061","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreateWindowSurface","異常系","IntPtr.Zeroの場合OpenGlExceptionがスローされること","なし","window=IntPtr.Zero","OpenGlExceptionがスローされる","高","無効ウィンドウ"
"62","UT-OGL-062","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","CreatePBufferFromClientBuffer","正常系","クライアントバッファからPBufferが作成されること","有効なバッファハンドル","bufferType, handle, attribs","EglSurfaceインスタンスが返却される","中","PBuffer作成"
"63","UT-OGL-063","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","IsLost","正常系","ディスプレイがロスト状態の判定が正しいこと","ディスプレイがロスト","なし","trueが返却される","高","ロスト状態検出"
"64","UT-OGL-064","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","IsLost","正常系","ディスプレイが有効な場合falseが返却されること","ディスプレイが有効","なし","falseが返却される","高","有効状態確認"
"65","UT-OGL-065","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","Lock","正常系","ロックが取得できること","なし","なし","IDisposableが返却される","中","排他制御"
"66","UT-OGL-066","src/Avalonia.OpenGL/Egl/EglDisplay.cs","EglDisplay","Dispose","正常系","リソースが正しく解放されること","有効なディスプレイとコンテキスト","なし","HandleがIntPtr.Zeroになり、Terminateが呼び出される","高","リソース解放"
"67","UT-OGL-067","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Context","正常系","コンテキストハンドルが取得できること","有効なコンテキスト","なし","有効なIntPtrが返却される","高","プロパティ取得"
"68","UT-OGL-068","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Context","異常系","Dispose後にObjectDisposedExceptionがスローされること","Dispose済みコンテキスト","なし","ObjectDisposedExceptionがスローされる","高","破棄後アクセス"
"69","UT-OGL-069","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent()","正常系","コンテキストがカレントになること","有効なコンテキスト","なし","IDisposableが返却され、IsCurrentがtrueになる","高","コンテキスト切替"
"70","UT-OGL-070","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent(EglSurface)","正常系","サーフェス指定でコンテキストがカレントになること","有効なコンテキストとサーフェス","surface=有効なEglSurface","IDisposableが返却される","高","サーフェス指定切替"
"71","UT-OGL-071","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent","異常系","ロスト状態でPlatformGraphicsContextLostExceptionがスローされること","IsLost=true","なし","PlatformGraphicsContextLostExceptionがスローされる","高","ロスト状態処理"
"72","UT-OGL-072","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","MakeCurrent","異常系","EGL_CONTEXT_LOSTエラーでロスト通知とPlatformGraphicsContextLostExceptionがスローされること","eglMakeCurrentがEGL_CONTEXT_LOSTを返す","なし","NotifyContextLostが呼ばれ、例外がスローされる","高","コンテキストロスト"
"73","UT-OGL-073","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","NotifyContextLost","正常系","ロスト状態が設定されディスプレイに通知されること","有効なコンテキスト","なし","IsLost=trueになり、Display.OnContextLostが呼び出される","高","ロスト通知"
"74","UT-OGL-074","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsLost","正常系","コンテキストのロスト状態が正しく判定されること","コンテキストがロスト","なし","trueが返却される","高","ロスト状態判定"
"75","UT-OGL-075","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","EnsureCurrent","正常系","既にカレントの場合空のDisposableが返却されること","IsCurrent=true","なし","Disposable.Emptyが返却される","中","最適化パス"
"76","UT-OGL-076","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","EnsureCurrent","正常系","カレントでない場合MakeCurrentが呼び出されること","IsCurrent=false","なし","MakeCurrentの戻り値が返却される","中","フォールバックパス"
"77","UT-OGL-077","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","EnsureLocked","正常系","既にカレントの場合空のDisposableが返却されること","IsCurrent=true","なし","Disposable.Emptyが返却される","中","ロック最適化"
"78","UT-OGL-078","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsSharedWith","正常系","同一コンテキストの場合trueが返却されること","なし","context=this","trueが返却される","中","共有判定"
"79","UT-OGL-079","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsSharedWith","正常系","共有元コンテキストの場合trueが返却されること","共有コンテキスト","context=_sharedWith","trueが返却される","中","共有判定"
"80","UT-OGL-080","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsSharedWith","正常系","共有されていないコンテキストの場合falseが返却されること","非共有コンテキスト","context=別コンテキスト","falseが返却される","中","非共有判定"
"81","UT-OGL-081","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","CreateSharedContext","正常系","共有コンテキストが作成されること","CanCreateSharedContext=true","なし","新しいIGlContextが返却される","高","共有コンテキスト作成"
"82","UT-OGL-082","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","IsCurrent","正常系","カレントコンテキストの判定が正しいこと","コンテキストがカレント","なし","trueが返却される","中","カレント判定"
"83","UT-OGL-083","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Dispose","正常系","リソースが正しく解放されること","有効なコンテキスト","なし","_context=IntPtr.Zero、DestroyContextが呼び出される","高","リソース解放"
"84","UT-OGL-084","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Dispose","正常系","既にDispose済みの場合何もしないこと","_context=IntPtr.Zero","なし","エラーなく完了","中","二重Dispose"
"85","UT-OGL-085","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","Dispose","正常系","フィーチャのIDisposableが解放されること","IDisposableフィーチャが登録済み","なし","フィーチャのDisposeが呼び出される","中","フィーチャ解放"
"86","UT-OGL-086","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","TryGetFeature","正常系","登録済みフィーチャが取得できること","フィーチャが登録済み","featureType=登録済みの型","フィーチャオブジェクトが返却される","中","フィーチャ取得"
"87","UT-OGL-087","src/Avalonia.OpenGL/Egl/EglContext.cs","EglContext","TryGetFeature","正常系","未登録フィーチャでnullが返却されること","フィーチャ未登録","featureType=未登録の型","nullが返却される","中","フィーチャ未登録"
"88","UT-OGL-088","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","コンストラクタ","正常系","サーフェスが正しく初期化されること","有効なディスプレイとサーフェスハンドル","display, surface","handle, _displayが設定される","高","サーフェス初期化"
"89","UT-OGL-089","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","IsInvalid","正常系","IntPtr.Zeroの場合trueが返却されること","handle=IntPtr.Zero","なし","trueが返却される","中","無効判定"
"90","UT-OGL-090","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","IsInvalid","正常系","有効なハンドルの場合falseが返却されること","有効なhandle","なし","falseが返却される","中","有効判定"
"91","UT-OGL-091","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","SwapBuffers","正常系","バッファスワップが実行されること","有効なサーフェス","なし","eglSwapBuffersが呼び出される","高","バッファ交換"
"92","UT-OGL-092","src/Avalonia.OpenGL/Egl/EglSurface.cs","EglSurface","ReleaseHandle","正常系","サーフェスが破棄されること","有効なサーフェス","なし","DestroySurfaceが呼び出され、trueが返却される","高","リソース解放"
"93","UT-OGL-093","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","正常系","デフォルトディスプレイが取得できること","EGLが利用可能","options.PlatformType=null","有効なIntPtrが返却される","高","ディスプレイ取得"
"94","UT-OGL-094","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","正常系","プラットフォーム指定でディスプレイが取得できること","eglGetPlatformDisplayEXTが利用可能","options.PlatformType=指定値","有効なIntPtrが返却される","高","プラットフォーム指定"
"95","UT-OGL-095","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","異常系","プラットフォーム指定でeglGetPlatformDisplayEXT未対応時OpenGlExceptionがスローされること","eglGetPlatformDisplayEXTが未対応","options.PlatformType=指定値","OpenGlExceptionがスローされる","高","未対応API"
"96","UT-OGL-096","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","CreateDisplay","異常系","ディスプレイ取得失敗時OpenGlExceptionがスローされること","eglGetDisplayがIntPtr.Zeroを返す","なし","OpenGlExceptionがスローされる","高","取得失敗"
"97","UT-OGL-097","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","正常系","EGLの初期化と設定取得が成功すること","有効なディスプレイ","egl, display, versions","EglConfigInfoが返却される","高","初期化成功"
"98","UT-OGL-098","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","異常系","初期化失敗時OpenGlExceptionがスローされること","eglInitializeがfalseを返す","なし","OpenGlExceptionがスローされる","高","初期化失敗"
"99","UT-OGL-099","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","異常系","設定が見つからない場合OpenGlExceptionがスローされること","適合する設定が存在しない","なし","OpenGlExceptionがスローされる","高","設定未発見"
"100","UT-OGL-100","src/Avalonia.OpenGL/Egl/EglDisplayUtils.cs","EglDisplayUtils","InitializeAndGetConfig","正常系","OpenGLES3.0が優先的に選択されること","ES3.0とES2.0が指定","versions=[ES3.0, ES2.0]","Version.Major=3のConfigInfoが返却される","中","バージョン優先度"
"101","UT-OGL-101","src/Avalonia.OpenGL/Egl/EglConfigInfo.cs","EglConfigInfo","コンストラクタ","正常系","すべてのプロパティが正しく設定されること","なし","config, version, surfaceType, attributes, sampleCount, stencilSize","各プロパティが設定される","中","設定情報初期化"
"102","UT-OGL-102","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase","BeginDraw(PixelSize?)","正常系","レンダリングセッションが開始されること","有効なコンテキスト","expectedPixelSize=null","IGlPlatformSurfaceRenderingSessionが返却される","高","レンダリング開始"
"103","UT-OGL-103","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase","BeginDraw(PixelSize?)","異常系","コンテキストロスト時RenderTargetCorruptedExceptionがスローされること","Context.IsLost=true","なし","RenderTargetCorruptedExceptionがスローされる","高","ロスト時エラー"
"104","UT-OGL-104","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase","IsCorrupted","正常系","コンテキストのロスト状態が反映されること","Context.IsLost=true","なし","trueが返却される","中","破損状態"
"105","UT-OGL-105","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase.Session","Dispose","正常系","セッション終了時にバッファスワップと同期が実行されること","有効なセッション","なし","Flush, WaitGL, SwapBuffersが順に呼び出される","高","セッション終了"
"106","UT-OGL-106","src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs","EglPlatformSurfaceRenderTargetBase.Session","Dispose","正常系","SkipWaits=trueの場合同期がスキップされること","SkipWaits=true","なし","WaitGL, WaitClientがスキップされる","中","同期スキップ"
"107","UT-OGL-107","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface","CreateGlRenderTarget","正常系","レンダーターゲットが作成されること","有効なコンテキストと情報","context=EglContext","RenderTargetインスタンスが返却される","高","ターゲット作成"
"108","UT-OGL-108","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","BeginDrawCore","正常系","描画セッションが開始されること","有効なサーフェス","expectedPixelSize=PixelSize(800,600)","IGlPlatformSurfaceRenderingSessionが返却される","高","描画開始"
"109","UT-OGL-109","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","BeginDrawCore","正常系","サイズ変更時にサーフェスが再作成されること","_info.Sizeが変更","expectedPixelSize=新サイズ","新しいサーフェスで描画が開始される","高","サイズ変更対応"
"110","UT-OGL-110","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","BeginDrawCore","正常系","ハンドル変更時にサーフェスが再作成されること","_info.Handleが変更","なし","新しいサーフェスで描画が開始される","中","ハンドル変更対応"
"111","UT-OGL-111","src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs","EglGlPlatformSurface.RenderTarget","Dispose","正常系","サーフェスが解放されること","有効なサーフェス","なし","_glSurfaceがDisposeされる","高","リソース解放"
"112","UT-OGL-112","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","コンストラクタ","正常系","EglDisplayから初期化されること","有効なEglDisplay","display=EglDisplay","インスタンスが作成される","高","初期化"
"113","UT-OGL-113","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","UsesSharedContext","正常系","falseが返却されること","なし","なし","falseが返却される","低","プロパティ確認"
"114","UT-OGL-114","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","CreateContext","正常系","新しいコンテキストが作成されること","なし","なし","IPlatformGraphicsContextが返却される","高","コンテキスト作成"
"115","UT-OGL-115","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","GetSharedContext","異常系","NotSupportedExceptionがスローされること","なし","なし","NotSupportedExceptionがスローされる","中","未サポート操作"
"116","UT-OGL-116","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate()","正常系","EglPlatformGraphicsが作成されること","EGLが利用可能","なし","EglPlatformGraphicsインスタンスが返却される","高","ファクトリ成功"
"117","UT-OGL-117","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate()","異常系","初期化失敗時nullが返却されること","EGLが利用不可","なし","nullが返却される","高","ファクトリ失敗"
"118","UT-OGL-118","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate(Func<EglDisplay>)","正常系","カスタムファクトリで作成されること","有効なファクトリ","displayFactory=有効な関数","EglPlatformGraphicsが返却される","中","カスタムファクトリ"
"119","UT-OGL-119","src/Avalonia.OpenGL/Egl/EglPlatformGraphics.cs","EglPlatformGraphics","TryCreate(Func<EglDisplay>)","異常系","ファクトリ例外時nullが返却されエラーログが出力されること","例外をスローするファクトリ","displayFactory=例外スロー関数","nullが返却される","中","ファクトリ例外"
"120","UT-OGL-120","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","コンストラクタ","正常系","コントロールが初期化されること","なし","なし","_updateがAction型で設定される","高","コントロール初期化"
"121","UT-OGL-121","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","RequestNextFrameRendering","正常系","レンダリングリクエストがキューされること","初期化済み、_updateQueued=false","なし","_updateQueued=trueになる","高","レンダリング要求"
"122","UT-OGL-122","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","RequestNextFrameRendering","正常系","既にキュー済みの場合リクエストが重複しないこと","_updateQueued=true","なし","リクエストが追加されない","中","重複防止"
"123","UT-OGL-123","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnAttachedToVisualTree","正常系","ビジュアルツリー追加時にCompositorが設定されレンダリングがリクエストされること","有効なビジュアルツリー","なし","_compositorが設定される","高","アタッチ処理"
"124","UT-OGL-124","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnDetachedFromVisualTree","正常系","ビジュアルツリー除去時にリソースがクリーンアップされること","初期化済み状態","なし","_visual=null, _resources=nullになる","高","デタッチ処理"
"125","UT-OGL-125","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnPropertyChanged","正常系","Boundsプロパティ変更時にビジュアルサイズが更新されレンダリングがリクエストされること","_visual非null","BoundsProperty変更","_visual.Sizeが更新される","中","サイズ変更対応"
"126","UT-OGL-126","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnOpenGlInit","正常系","初期化時にオーバーライドメソッドが呼び出されること","コンテキスト作成成功","gl=GlInterface","メソッドがエラーなく完了","中","初期化コールバック"
"127","UT-OGL-127","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnOpenGlDeinit","正常系","破棄時にオーバーライドメソッドが呼び出されること","初期化成功済み","gl=GlInterface","メソッドがエラーなく完了","中","破棄コールバック"
"128","UT-OGL-128","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","OnOpenGlLost","正常系","コンテキストロスト時にオーバーライドメソッドが呼び出されること","コンテキストがロスト","なし","メソッドがエラーなく完了","中","ロストコールバック"
"129","UT-OGL-129","src/Avalonia.OpenGL/Controls/OpenGlControlBase.cs","OpenGlControlBase","InvalidateVisual","正常系","RequestNextFrameRenderingが呼び出されること（非推奨メソッド）","なし","なし","RequestNextFrameRenderingの動作","低","後方互換性"
"130","UT-OGL-130","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(sharing)","正常系","共有機能からリソースが作成されること","CreateSharedContextが成功","surface, interop, feature","OpenGlControlBaseResourcesが返却される","高","共有リソース作成"
"131","UT-OGL-131","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(sharing)","異常系","共有コンテキスト作成失敗時nullが返却されること","CreateSharedContextが例外","なし","nullが返却される","高","作成失敗"
"132","UT-OGL-132","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(sharing)","異常系","コンテキストがnullの場合nullが返却されること","CreateSharedContextがnull返却","なし","nullが返却される","中","null処理"
"133","UT-OGL-133","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(external)","正常系","外部オブジェクト機能からリソースが作成されること","D3D11サポートあり","context, surface, interop, externalObjects","OpenGlControlBaseResourcesが返却される","高","外部オブジェクト作成"
"134","UT-OGL-134","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","TryCreate(external)","正常系","D3D11未サポート時nullが返却されること","D3D11サポートなし","なし","nullが返却される","中","未サポートフォーマット"
"135","UT-OGL-135","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","BeginDraw","正常系","描画が開始されFBOが設定されること","有効なリソース","size=PixelSize(800,600)","IDisposableが返却される","高","描画開始"
"136","UT-OGL-136","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","BeginDraw","正常系","サイズ変更時に深度バッファが再作成されること","サイズが前回と異なる","size=新しいPixelSize","深度バッファが再生成される","中","深度バッファ更新"
"137","UT-OGL-137","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","BeginDraw","異常系","フレームバッファ不完全時OpenGlExceptionがスローされること","CheckFramebufferStatusがGL_FRAMEBUFFER_COMPLETE以外","なし","OpenGlExceptionがスローされる","高","FBOエラー"
"138","UT-OGL-138","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","DisposeAsync","正常系","リソースが非同期で解放されること","有効なリソース","なし","FBOと深度バッファが削除される","高","非同期解放"
"139","UT-OGL-139","src/Avalonia.OpenGL/Controls/OpenGlControlResources.cs","OpenGlControlBaseResources","DisposeAsync","正常系","コンテキストロスト時もエラーなく完了すること","Context.IsLost=true","なし","例外なく完了","中","ロスト時解放"
"140","UT-OGL-140","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","コンストラクタ(sharing)","正常系","共有機能でスワップチェーンが初期化されること","有効なコンテキストと共有機能","context, interop, target, sharingFeature","インスタンスが作成される","高","共有初期化"
"141","UT-OGL-141","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","コンストラクタ(external)","正常系","外部オブジェクト機能でスワップチェーンが初期化されること","有効なコンテキストと外部オブジェクト機能","context, interop, target, externalObjectsFeature","インスタンスが作成される","高","外部オブジェクト初期化"
"142","UT-OGL-142","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","CreateImage","正常系","共有機能使用時にCompositionOpenGlSwapChainImageが作成されること","_sharingFeature非null","size=PixelSize(800,600)","CompositionOpenGlSwapChainImageが返却される","高","共有イメージ作成"
"143","UT-OGL-143","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","CreateImage","正常系","外部オブジェクト使用時にDxgiMutexOpenGlSwapChainImageが作成されること","_sharingFeature=null","size=PixelSize(800,600)","DxgiMutexOpenGlSwapChainImageが返却される","高","外部イメージ作成"
"144","UT-OGL-144","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapchain","BeginDraw","正常系","描画開始時にテクスチャが返却されること","有効なスワップチェーン","size=PixelSize(800,600)","IDisposableとIGlTextureが返却される","高","描画開始"
"145","UT-OGL-145","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","コンストラクタ","正常系","D3D11テクスチャが作成されること","有効な外部オブジェクト機能","interop, surface, externalObjects, size","テクスチャが作成される","高","DXGI初期化"
"146","UT-OGL-146","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","TextureId","正常系","テクスチャIDが取得できること","有効なイメージ","なし","正のテクスチャIDが返却される","中","プロパティ取得"
"147","UT-OGL-147","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","BeginDraw","正常系","キードミューテックスが取得されること","有効なイメージ","なし","AcquireKeyedMutex(0)が呼び出される","高","ミューテックス取得"
"148","UT-OGL-148","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","Present","正常系","ミューテックス解放とコンポジションへの送信が行われること","有効なイメージ","なし","ReleaseKeyedMutex(1)とUpdateWithKeyedMutexAsyncが呼び出される","高","プレゼント"
"149","UT-OGL-149","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","DxgiMutexOpenGlSwapChainImage","DisposeAsync","正常系","テクスチャが解放されること","有効なイメージ","なし","_texture.Disposeが呼び出される","高","非同期解放"
"150","UT-OGL-150","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","コンストラクタ","正常系","共有テクスチャが作成されること","有効な共有機能","context, sharingFeature, size, interop, target","テクスチャが作成される","高","共有イメージ初期化"
"151","UT-OGL-151","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","BeginDraw","正常系","共有テクスチャではno-opであること","有効なイメージ","なし","何もしない","中","no-op確認"
"152","UT-OGL-152","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","Present","正常系","コンポジションへの送信が行われること","有効なイメージ","なし","UpdateAsyncが呼び出される","高","プレゼント"
"153","UT-OGL-153","src/Avalonia.OpenGL/Controls/CompositionOpenGlSwapchain.cs","CompositionOpenGlSwapChainImage","DisposeAsync","正常系","テクスチャが解放されること","有効なイメージ","なし","_texture.Disposeが呼び出される","高","非同期解放"
"154","UT-OGL-154","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","TryCreate","正常系","拡張機能が利用可能な場合インスタンスが作成されること","GL_EXT_memory_object, GL_EXT_semaphore拡張あり","context","ExternalObjectsOpenGlExtensionFeatureが返却される","高","ファクトリ成功"
"155","UT-OGL-155","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","TryCreate","正常系","拡張機能が利用不可の場合nullが返却されること","必要な拡張なし","context","nullが返却される","高","ファクトリ失敗"
"156","UT-OGL-156","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","TryCreate","異常系","初期化例外時nullが返却されログ出力されること","拡張あるが初期化失敗","context","nullが返却される","中","例外処理"
"157","UT-OGL-157","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","GetSupportedFormatsForExternalMemoryType","正常系","R8G8B8A8UNormフォーマットが返却されること","なし","type=任意","R8G8B8A8UNormを含むリストが返却される","中","フォーマット取得"
"158","UT-OGL-158","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","CreateImage","異常系","NotSupportedExceptionがスローされること","なし","type, size, format","NotSupportedExceptionがスローされる","中","未サポート操作"
"159","UT-OGL-159","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","CreateSemaphore","異常系","NotSupportedExceptionがスローされること","なし","type","NotSupportedExceptionがスローされる","中","未サポート操作"
"160","UT-OGL-160","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","正常系","Vulkanファイルディスクリプタからイメージがインポートされること","VulkanOpaquePosixFileDescriptorサポートあり","handle=有効なfd, properties","IGlExternalImageTextureが返却される","高","イメージインポート"
"161","UT-OGL-161","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","異常系","HandleDescriptorがnullまたは空の場合ArgumentExceptionがスローされること","なし","handle.HandleDescriptor=null/空","ArgumentExceptionがスローされる","高","無効ハンドル"
"162","UT-OGL-162","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","異常系","未サポートのハンドルタイプでArgumentExceptionがスローされること","サポート外のタイプ","handle.HandleDescriptor=""unsupported""","ArgumentExceptionがスローされる","高","未サポートタイプ"
"163","UT-OGL-163","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportImage","異常系","glImportMemoryFdEXTエラー時OpenGlExceptionがスローされること","GLエラー発生","handle=有効, properties","OpenGlExceptionがスローされる","高","GLエラー"
"164","UT-OGL-164","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportSemaphore","正常系","Vulkanファイルディスクリプタからセマフォがインポートされること","VulkanOpaquePosixFileDescriptorサポートあり","handle=有効なfd","IGlExternalSemaphoreが返却される","高","セマフォインポート"
"165","UT-OGL-165","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportSemaphore","異常系","HandleDescriptorがnullまたは空の場合ArgumentExceptionがスローされること","なし","handle.HandleDescriptor=null/空","ArgumentExceptionがスローされる","高","無効ハンドル"
"166","UT-OGL-166","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","ImportSemaphore","異常系","未サポートのハンドルタイプでArgumentExceptionがスローされること","サポート外のタイプ","handle.HandleDescriptor=""unsupported""","ArgumentExceptionがスローされる","高","未サポートタイプ"
"167","UT-OGL-167","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","GetSynchronizationCapabilities","正常系","Vulkan fd に対してSemaphoresが返却されること","なし","imageHandleType=VulkanOpaquePosixFileDescriptor","Semaphoresが返却される","中","同期機能取得"
"168","UT-OGL-168","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalObjectsOpenGlExtensionFeature","GetSynchronizationCapabilities","正常系","未知のタイプに対してdefaultが返却されること","なし","imageHandleType=""unknown""","defaultが返却される","中","未知タイプ"
"169","UT-OGL-169","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","WaitSemaphore","正常系","セマフォ待機が実行されること","有効なセマフォ","texture=IGlExternalImageTexture","WaitSemaphoreEXTが呼び出される","高","待機操作"
"170","UT-OGL-170","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","SignalSemaphore","正常系","セマフォシグナルが実行されること","有効なセマフォ","texture=IGlExternalImageTexture","SignalSemaphoreEXTが呼び出される","高","シグナル操作"
"171","UT-OGL-171","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","WaitTimelineSemaphore","異常系","NotSupportedExceptionがスローされること","なし","texture, value","NotSupportedExceptionがスローされる","中","タイムライン未サポート"
"172","UT-OGL-172","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","SignalTimelineSemaphore","異常系","NotSupportedExceptionがスローされること","なし","texture, value","NotSupportedExceptionがスローされる","中","タイムライン未サポート"
"173","UT-OGL-173","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","Dispose","正常系","セマフォが削除されること","有効なセマフォ","なし","DeleteSemaphoresEXTが呼び出される","高","リソース解放"
"174","UT-OGL-174","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalSemaphore","Dispose","正常系","コンテキストロスト時は何もしないこと","_context.IsLost=true","なし","エラーなく完了","中","ロスト時処理"
"175","UT-OGL-175","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","AcquireKeyedMutex","異常系","NotSupportedExceptionがスローされること","なし","key=0","NotSupportedExceptionがスローされる","中","未サポート操作"
"176","UT-OGL-176","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","ReleaseKeyedMutex","異常系","NotSupportedExceptionがスローされること","なし","key=0","NotSupportedExceptionがスローされる","中","未サポート操作"
"177","UT-OGL-177","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","Dispose","正常系","テクスチャとメモリオブジェクトが削除されること","有効なテクスチャ","なし","DeleteTexture, DeleteMemoryObjectsEXTが呼び出される","高","リソース解放"
"178","UT-OGL-178","src/Avalonia.OpenGL/Features/ExternalObjectsOpenGlExtensionFeature.cs","ExternalImageTexture","Dispose","正常系","コンテキストロスト時は何もしないこと","_context.IsLost=true","なし","エラーなく完了","中","ロスト時処理"
"179","UT-OGL-179","src/Avalonia.OpenGL/Egl/EglDisplayOptions.cs","EglDisplayOptions","プロパティ","正常系","すべてのプロパティが設定・取得できること","なし","各プロパティに値を設定","設定した値が取得できる","低","オプション設定"
"180","UT-OGL-180","src/Avalonia.OpenGL/Egl/EglDisplayOptions.cs","EglContextOptions","プロパティ","正常系","すべてのプロパティが設定・取得できること","なし","各プロパティに値を設定","設定した値が取得できる","低","オプション設定"
"181","UT-OGL-181","src/Avalonia.OpenGL/Egl/EglDisplayOptions.cs","EglDisplayCreationOptions","プロパティ","正常系","すべてのプロパティが設定・取得できること","なし","PlatformType, PlatformDisplay, PlatformDisplayAttrsに値を設定","設定した値が取得できる","低","オプション設定"
"182","UT-OGL-182","src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderTarget.cs","IGlPlatformSurfaceRenderTarget","BeginDraw","正常系","描画セッションが開始されること（インターフェース契約）","有効な実装","expectedPixelSize=PixelSize(800,600)","IGlPlatformSurfaceRenderingSessionが返却される","高","インターフェース契約"
"183","UT-OGL-183","src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderTarget.cs","IGlPlatformSurfaceRenderTarget","IsCorrupted","正常系","破損状態が取得できること（インターフェース契約）","有効な実装","なし","bool値が返却される","中","インターフェース契約"
"184","UT-OGL-184","src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderingSession.cs","IGlPlatformSurfaceRenderingSession","プロパティ","正常系","Context, Size, Scaling, IsYFlippedが取得できること（インターフェース契約）","有効な実装","なし","各プロパティ値が返却される","中","インターフェース契約"
"185","UT-OGL-185","src/Avalonia.OpenGL/GlErrors.cs","GlErrors","列挙値","正常系","GL_NO_ERRORがGlConstsと一致すること","なし","なし","GL_NO_ERROR値が一致","低","定数確認"
"186","UT-OGL-186","src/Avalonia.OpenGL/GlErrors.cs","GlErrors","列挙値","正常系","すべてのエラーコードがGlConstsの対応する値と一致すること","なし","なし","すべての値が一致","低","定数確認"
"187","UT-OGL-187","src/Avalonia.OpenGL/Egl/EglErrors.cs","EglErrors","列挙値","正常系","EGL_SUCCESSがEglConstsと一致すること","なし","なし","EGL_SUCCESS値が一致","低","定数確認"
"188","UT-OGL-188","src/Avalonia.OpenGL/Egl/EglErrors.cs","EglErrors","列挙値","正常系","すべてのエラーコードがEglConstsの対応する値と一致すること","なし","なし","すべての値が一致","低","定数確認"
