【手続補正書】
【提出日】令和1年6月17日(2019.6.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを処理する方法であって、前記方法は、
グラフィックス処理ユニット（ＧＰＵ）を用いて、描画呼出しを受信したことに応答して、前記ＧＰＵのグラフィックスパイプラインを介して、コマンドの第１のセットを実行することと、前記描画呼出しが、コマンドの前記第１のセットの実行によってレンダリングされるべきである１つまたは複数のプリミティブを定義する、
前記ＧＰＵを用いて、コマンドの前記第１のセットの実行中に、および前記１つまたは複数のプリミティブのすべてをレンダリングするより前に、プリエンプション通知を受信することと、
前記プリエンプション通知を受信したことに応答して、コマンドの前記第１のセットの実行中に、前記グラフィックスパイプラインのステージの相互接続を動的に構成するために、少なくとも第１のハードウェアスイッチを用いて、前記ＧＰＵのローカルメモリの出力を、前記グラフィックスパイプラインのステージから切断し、少なくとも第２のハードウェアスイッチを用いて、前記ＧＰＵの前記ローカルメモリの前記出力を、前記ＧＰＵのハードウェアストリームアウトユニットに接続することと、
コマンドの前記第１のセットの実行中に、前記ＧＰＵの前記グラフィックスパイプラインのステージの前記相互接続の前記動的構成により、前記ハードウェアストリームアウトユニットから、前記ＧＰＵの外部にあるメモリに、コマンドの前記第１のセットのうちの１つまたは複数のコマンドの実行中に生成された中間データを出力することと、
前記ＧＰＵを用いて、コマンドの第２のセットを実行するために、前記描画呼出しの前記１つまたは複数のプリミティブをレンダリングするためのコマンドの前記第１のセットの前記実行を完了するより前に、コマンドの前記第１のセットの前記実行をプリエンプトすることと、
コマンドの前記第２のセットを実行することと
を備える、方法。
【請求項２】
前記１つまたは複数のプリミティブが、プリミティブの第１のセットとプリミティブの第２のセットとを備え、ここにおいて、プリエンプトすることが、他の後続のピクセルタイルをラスタライズおよびピクセルシェーディングすることなく、ピクセルタイルをラスタライズおよびピクセルシェーディングした後に、プリエンプトすることを備え、前記ピクセルタイルが、プリミティブの前記第１のセットのうちの１つまたは複数のプリミティブの１つまたは複数のピクセルを備え、プリミティブの前記第２のセットの前記ピクセルのいずれをも備えず、ここにおいて、ラスタライズおよびピクセルシェーディングすることが、前記グラフィックスパイプラインの２つのステージによって実施される機能を備える、請求項１に記載の方法。
【請求項３】
プリエンプトすることが、描画呼出し境界に達するより前にプリエンプトすることを備える、請求項１に記載の方法。
【請求項４】
前記ＧＰＵの前記ローカルメモリの前記出力を、前記グラフィックスパイプラインの前記ステージから切断することが、
前記ＧＰＵの前記ローカルメモリの前記出力を、ラスタライザステージから切断すること
を備える、請求項１に記載の方法。
【請求項５】
前記プリエンプション通知を受信したことに応答してのみ、シェーダによって生成された前記中間データを、前記ＧＰＵの外部にある前記メモリに出力することと、
前記１つまたは複数のプリミティブをレンダリングするためのコマンドの前記第１のセットの実行を停止することと
をさらに備える、請求項１に記載の方法。
【請求項６】
コマンドの前記第２のセットの実行に続いて、ラスタライズおよびピクセルシェーディングするために、前記ＧＰＵの外部にある前記メモリから前記中間データを取り出すことによって、コマンドの前記第１のセットの実行を再開すること
をさらに備える、請求項１に記載の方法。
【請求項７】
前記ステージを用いて、前記プリエンプション通知を受信するより前に、前記ステージによる処理のために、前記ローカルメモリから前記中間データを受信すること
をさらに備える、請求項１に記載の方法。
【請求項８】
実行されたとき、データを処理するためのデバイスのグラフィックス処理ユニット（ＧＰＵ）に、請求項１ないし７のいずれか一項に記載の方法を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項９】
データを処理するためのデバイスであって、前記デバイスは、
描画呼出しを受信したことに応答して、グラフィックス処理ユニット（ＧＰＵ）のグラフィックスパイプラインを介して、コマンドの第１のセットを実行するための手段と、前記描画呼出しが、コマンドの前記第１のセットの実行によってレンダリングされるべきである１つまたは複数のプリミティブを定義する、
コマンドの前記第１のセットの実行中に、および前記１つまたは複数のプリミティブのすべてをレンダリングするより前に、プリエンプション通知を受信するための手段と、
コマンドの前記第１のセットの実行中に、前記グラフィックスパイプラインのステージの相互接続を動的に構成するために、少なくとも第１のハードウェアスイッチを用いて、前記ＧＰＵのローカルメモリの出力を、前記グラフィックスパイプラインのステージから切断し、少なくとも第２のハードウェアスイッチを用いて、前記ＧＰＵの前記ローカルメモリの前記出力を、前記ＧＰＵのハードウェアストリームアウトユニットに接続するための手段と、
コマンドの前記第１のセットの実行中に、前記ＧＰＵの前記グラフィックスパイプラインのステージの前記相互接続の前記動的構成により、前記ハードウェアストリームアウトユニットから、前記ＧＰＵの外部にあるメモリに、コマンドの前記第１のセットのうちの１つまたは複数のコマンドの実行中に生成された中間データを出力するための手段と、
コマンドの第２のセットを実行するために、前記描画呼出しの前記１つまたは複数のプリミティブをレンダリングするためのコマンドの前記第１のセットの前記実行を完了するより前に、コマンドの前記第１のセットの前記実行をプリエンプトするための手段と、
コマンドの前記第２のセットを実行するための手段と
を備える、デバイス。
【請求項１０】
前記１つまたは複数のプリミティブが、プリミティブの第１のセットとプリミティブの第２のセットとを備え、ここにおいて、プリエンプトするための前記手段が、他の後続のピクセルタイルをラスタライズおよびピクセルシェーディングすることなく、ピクセルタイルをラスタライズおよびピクセルシェーディングした後に、プリエンプトするための手段を備え、前記ピクセルタイルが、プリミティブの前記第１のセットのうちの１つまたは複数のプリミティブの１つまたは複数のピクセルを備え、プリミティブの前記第２のセットの前記ピクセルのいずれをも備えず、ここにおいて、ラスタライズおよびピクセルシェーディングすることが、前記グラフィックスパイプラインの２つのステージによって実施される機能を備える、請求項９に記載のデバイス。
【請求項１１】
プリエンプトするための前記手段が、描画呼出し境界に達するより前にプリエンプトするための手段を備える、請求項９に記載のデバイス。
【請求項１２】
前記ＧＰＵの前記ローカルメモリの前記出力を、前記グラフィックスパイプラインの前記ステージから切断するための前記手段が、
前記ＧＰＵの前記ローカルメモリの前記出力を、ラスタライザステージから切断するための手段
を備える、請求項９に記載のデバイス。
【請求項１３】
前記プリエンプション通知を受信したことに応答してのみ、シェーダによって生成された前記中間データを、前記ＧＰＵの外部にある前記メモリに出力するための手段と、
前記１つまたは複数のプリミティブをレンダリングするためのコマンドの前記第１のセットの実行を停止するための手段と
をさらに備える、請求項９に記載のデバイス。